随笔分类 - STM32
摘要:在需要用到显示功能的代码中,用printf写法会快很多。 struct __FILE { int handle; }; FILE __stdout; //定义_sys_exit()以避免使用半主机模式 void _sys_exit(int x) { x = x; } //重定义fputc函数 int
阅读全文
摘要:上一次我们通过HAL库的串口中断回调函数,基本能够实现简单的不定长度读写收发的功能。这一次用DMA来实现,先了解一下DMA。 DMA 直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。 D
阅读全文
摘要:要实现的是用PWM实现呼吸灯的效果。 先简单说一下原理,比如对一个电灯来说,你在1秒内,打开开关0.5秒,再关闭0.5秒,如此反复,那么电灯就会闪烁,但是如果是1毫秒内,0.5毫秒打开,0.5毫秒关闭,由于视觉暂留作用,也可能由于灯光的亮灭速度赶不上开关速度(还没全亮就又没电了),于是人眼不感觉电灯
阅读全文
摘要:从串口中断,到外部中断再到现在的定时器中断,越来越感觉HAL库应用比较好用,虽然一开始理解上面有点怪,但是网上查询一下就能够学会。 定时器中断分为两个重点,1、在应用CUBEMX时配置定时器的分频数以及时钟树设置 2、生成初始化代码后添加的相关函数 auto-reload 自动重装值,使能与否都可以
阅读全文
摘要:这次外部中断是通过检测外部中断实现按键控制LED的开关。 每一个IO口都可作为外部中断口,将你要外部中断的IO口在CUBEMX中进行设置。 中断线能够自动识别,不用手动去改动。其他基本设置好之后,即完成了外部中断的初始化。此时要进入中断函数,印象中大家的外部中断函数应该是这个, 但是在HAL库文件中
阅读全文
摘要:这几天终于开始接触HAL库,随着固件库被逐渐淘汰,尽管很多人说用STM32CUBEMX不能很好地学习stm32,但这肯定是一个趋势,所以用好HAL库十分得重要。 这几天也学到了简单地操作cubemx这个软件,这里不做教学,因为百度很多,虽然很杂乱,但是总能找到的。HAL库的应用与固件库在一些特定函数
阅读全文
浙公网安备 33010602011771号