![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32调试
半月可可
这个作者很懒,什么都没留下…
展开
-
STM32通过寄存器实现IO口取反
通过按位异或,写ODR寄存器,如:GPIOB->ODR ^= GPIO_Pin_5; //对PB5 IO口取反在官方给的固件库中,有#define GPIO_Pin_5 ((uint16_t)0x0020) /*!< Pin 5 selected */这样的宏定义,所以这样的异或操作保证只对PB5位对应的ODR寄存器上的位取反,其它位保持不变。(正点原子的教程源码里通过位带操作实现翻转,但个人感觉位带操作有点麻烦。)...原创 2020-12-02 10:54:40 · 6793 阅读 · 1 评论 -
STM32调试问题汇总
keil5编写程序时,for循环的初值如果不是等式则会报错,如for(i, i<5, i++)则报错,修改为for(i = i, i<5 ,i++)原创 2020-08-26 11:27:20 · 276 阅读 · 0 评论 -
STM32F103ZE开发板WS2812B RGB灯带调试
调试时采用5颗灯珠的灯带。WS2812B每一颗灯都由24位控制,分为8位G,8为位R,8位B。从0到0xFF,数值越大那一种颜色越亮。发送的信号根据高低电平的时间分为1,0,和RES信号。103开发板控制IO口翻转实现0、1信号要实现几百ns的翻转,正点原子开发板提供的delay函数不能满足。采用下面的翻转方法:#define delay_250ns() do { \ __NOP(); \ __NOP(); \ __NOP();原创 2020-08-26 20:24:12 · 3800 阅读 · 1 评论