随笔分类 - CubeMX_HAL
摘要:使用CubeMx生成的MDK工程无法使用软件仿真,提示unknown pin 解决办法: 打开一个非CUbeMx生成的MDK工程,把红色框框里面的设置替换CubeMx生成的MDK工程。芯片要对应。这里都是f103的。
阅读全文
摘要:记录一下使用cubemx配置串口发送dma的流程和问题 1.打开时钟 2.打开串口 3.设置DMA 设置dma可以从syscore里面找dma 也可以在串口中配置dma,这两种方法一样。 4.生成工程后,在需要开启dma传输的地方调用这个函数即可。 HAL_UART_Transmit_DMA(&hu
阅读全文
摘要:1.什么是STM32CubeMx和HAL库 HAL库对比标准库,封装程度更高,更具有移植性。STM32CUbeMx是一种图形化配置界面,用来完成对外设的初始化,比如RCC模块、NVIC、GPIO、串口、定时器。使用标准库都是先对某个外设的结构体赋值,最后调用Init函数将结构体写入寄存器,这个过程有
阅读全文
摘要:对比标准库流程,使用CubeMx配置PWM 1.PWM 标准库中使用pwm的流程 1.开时钟 2.设置psc和arr 3.通道初始化 4.设置CCRx比较/捕获寄存器的值 HAL库中,以上操作都在图形化界面上操作 1.开时钟(先开RRC,再开TIM,不管干啥,第一步要做的都是要先打开RRC,使用HS
阅读全文
摘要:对比标准库的流程使用HAL库编写定时器更新中断 标准库中使用定时器更新中断的方式: 1.开时钟,设置TIM的时钟 2.初始化定时器石基的结构体 3.调用Init初始化函数 4.处理定时器中断 HAL中使用定时器更新中断的方式: 1.开时钟 2.初始化定时器石基的结构体 3.处理定时器中断 3.1在C
阅读全文
摘要:CUbeMx配置EXTI 1.EXTI配置比较简单,看最后面两张图片即可。这里说一下EXTI9_5中断的问题。 EXTI5这条外部中断线对应PA5、PB5、一直到PG5。我在CubeMx中配置PE5和PF5都连接到EXTI5线上,结果发现后配置的端口总会覆盖先配置的端口 查看EXTI寄存器配置 发现
阅读全文
摘要:对比标准库的流程使用HAL库编写流水灯 标准库: 1.开时钟 2.初始化GPIOInit结构体 3.调用GPIO_Init(GPIOB, &GPIO_InitStructure) 初始化函数 1 typedef struct 2 { 3 uint16_t GPIO_Pin; /*!< Specifi
阅读全文
摘要:标准库中打开串口的函数: USART_Cmd(USART1, ENABLE); 标准库中打开中断的函数:需要单独设置被打开的中断的类型 USART_ITConfig(DEBUG_USARTx, USART_IT_RXNE, ENABLE); 在HAL中,打开串口和中断合并成了一个函数:发送就打开发送
阅读全文