随笔分类 -  CubeMX_HAL

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

点击右上角即可分享
微信分享提示