MC33PT2000控制详解七:软件代码设计1-图形化设置

1、上位机软件工具

STM32CUBEIDE

对于该工具的使用不展开,自行到网上下载或自学习,网上资源很丰富,不是本文的重点,故或略。默认读者已经掌握STM32CUBEIDE工具的使用。

2、软件设计

2.1、创建工程

依次点击以下

点击【No】

跳出的ioc界面输入芯片型号,选择该芯片,点击【Next】

输入存储名称和存储地址,点击【Finish】即完成工程创建

建好后状态大约如下

编译试试,应该是0 error和0 warning

2.2、SYS设计

按以下设计

2.3、RCC设计

按以下设计

2.4、Clock Configuration设计

按以下设计,为了后续好计算HCLK设置为100MHz。

那么Timer的APB1时钟为50MHz。

2.5、Project Management设计

按以下设计

2.6、SPI设置(SPI1_SCK/SPI1_MOSI_SPI1_MISO)

按下图配置(对于基本原理不展开,自行对照下图设置到网上找资源理解)

根据MC33PT2000手册,SCLK最大为12.5MHz,那么设置为3.125MHz可以避免手工接线带来的干扰。

如果GPIO不是PA5/PA6/PA7,那么通过下图方式更改

SPI1_CSB设置,起始就是配置普通的输出GPIO在2.7 GPIO章节介绍

2.7、GPIO设置(IRQB/RESET/SPI1_CSB/DRVEN)

按下图配置IRQB/RESET/SPI1_CSB/DRVEN的GPIO

特别说明下IRQB,配置为外部中断输入(上升沿触发)

打开NVIC中断,中断优先级设低点,如4(0表示最高优先级)

2.8、START1设置

++配置在TIM2 CHANNEL4通道PA3 port。++

按下图配置,目标是产生10Hz,3.3%的PWM波形,即1s控制10次高压喷油器工作,每次高压喷油器工作3.3ms。为什么是10Hz,3.3%,3.3ms为了保护高压喷油器。

通过以下计算可以得出:

PWM的频率:APB1时钟/(PSC+1)/(counter period+1) = 50MHz/(5-1+1)/(1000000-1+1) = 10Hz

PWM的占空比:Pulse / (counter period+1) = 33000/(1000000-1+1) = 33/1000 = 3.3%

DMA/NVIC都不需要,不打开即可。

GPIO设置如下:

注意:该波形还未输出,需要发送应该指令才启动定时器发波形,

HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_4);

2.9、START7设置

++配置在TIM3 CHANNEL3通道PB0 port。++

按下图配置,目标是产生10Hz,10%的PWM波形,即1s控制10次高压油泵工作,每次高压油泵工作10ms。为什么是10Hz,10%,10ms为了保护高压喷油器。

通过以下计算可以得出:

PWM的频率:APB1时钟/(PSC+1)/(counter period+1) = 50MHz/(500-1+1)/(10000-1+1) = 10Hz

PWM的占空比:Pulse / (counter period+1) = 1000/(10000-1+1) = 1000/10000 = 10%

DMA/NVIC都不需要,不打开即可。

GPIO设置如下:

注意:该波形还未输出,需要发送应该指令才启动定时器发波形,

HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_3);

2.10、INT_CLK设置

++配置在TIM5 CHANNEL3通道PA2 port。++

按下图配置,目标是产生1MHz,duty 50%的外部时钟信号。

通过以下计算可以得出:

PWM的频率:APB1时钟/(PSC+1)/(counter period+1) = 50MHz/(1-1+1)/(50-1+1) = 1MHz

PWM的占空比:Pulse / (counter period+1) = 25/(50-1+1) = 25/50 = 50%

DMA/NVIC都不需要,不打开即可。

GPIO设置如下:

注意:该波形还未输出,需要发送应该指令才启动定时器发波形,

HAL_TIM_PWM_Start(&htim5,TIM_CHANNEL_3);

至此,图形化设置已完成。

相关推荐
Miuney_MAX7 小时前
【单片机】之HC32F460中断向量选择
单片机·嵌入式硬件
XINVRY-FPGA9 小时前
XC3S1000-4FGG320I Xilinx AMD Spartan-3 SRAM-based FPGA
嵌入式硬件·机器学习·计算机视觉·fpga开发·硬件工程·dsp开发·fpga
猫猫的小茶馆12 小时前
【ARM】ARM的介绍
c语言·开发语言·arm开发·stm32·单片机·嵌入式硬件·物联网
猫猫的小茶馆12 小时前
【PCB工艺】数模电及射频电路基础
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·pcb工艺
点灯小铭12 小时前
基于单片机的智能药物盒设计与实现
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
梓德原13 小时前
【基础】详细分析带隙型稳压电路的工作原理
单片机·嵌入式硬件·物联网
国科安芯14 小时前
航天医疗领域AS32S601芯片的性能分析与适配性探讨
大数据·网络·人工智能·单片机·嵌入式硬件·fpga开发·性能优化
小李做物联网14 小时前
【物联网毕业设计】60.1基于单片机物联网嵌入式项目程序开发之图像厨房监测系统
stm32·单片机·嵌入式硬件·物联网
贝塔实验室15 小时前
新手如何使用Altium Designer创建第一张原理图(三)
arm开发·单片机·嵌入式硬件·fpga开发·射频工程·基带工程·嵌入式实时数据库
@good_good_study15 小时前
STM32 ADC多通道采样实验
stm32·单片机·嵌入式硬件