既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
4.2 在it.c中添加USART1_IRQHandler中断服务函数
定义数组uart_buf[2]用来存放单片机接收到的数据
在main中打开串口接收中断
意思是串口1接收一个字节到uart_buf里,每接收一个字节就产生一次中断
一个字节是8位,所以我们通过写0x00~0xff来控制LED灯亮灭
编写中断回调函数
在串口调试助手中写00~ff来控制LED灯
当电脑向单片机发送ff时,单片机上的LED灯就会按要求亮灭
串口接收固定长度的数据
假设我们的串口接收三个字节长度,每一个字节都能用来控制不同的外设,比如第一个字节写入EEPROM,第二个字节来控制LED灯
我们要定义一个数组rx_buf[10]来存放uart_buf接收到的数据,定义一个变量rx_cnt , 让rx_buf[rx_cnt++] = uart_buf[0]; 串口每接收到一个值都放入rx_buf里并移位,这样就能缓存下来串口接收到的数据
让串口固定发送3个字节数据,并用第二个字节的数据控制LED灯
因为我们规定一次要发三个字节,但如果不小心第一次发错了只发了一个字节,后续意识到发错第二次又补发了三个字节,这样就会把第一次发送的一个字节保存下来这样顺序就会错乱
我们需要添加一个判断函数,如果两个字节发送间隔时间>50ms就清除一次rx_buf[]
(因为连续发送的话两个字节的时间间隔是<50ms的)
使用memset函数需要定义string.h
收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!