![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机编程
单片机编程
Al_shawn
这个作者很懒,什么都没留下…
展开
-
51单片机串口中断波特率为9600接收数据不正确
1.逗比,不要开启定时器1中断!!2.参照下面这一篇博客,为什么单片机串口设置9600波特率的时候总是接收不到正确数据?因为12Mhz的单片机9600波特通信设置T1初值为FD时有8.51%的误差,而允许误差为4.5%以下!!解决方法:用4800波特率,置SMOD为1通信,此时误差只有0.16%!!http://bbs.ednchina.com/BL原创 2016-01-16 19:50:38 · 6631 阅读 · 0 评论 -
51单片机定时器0中断时执行外部中断0
代码如下:void TimeConf(void) { TMOD=0x01;//打开定时器模式并选择方式2 TL0=TH0=0x00;//设置初值 TR0=1;//打开定时器0}void intConf(void)//中断初始化{ EA=1; EX0=1; ET0=1;}void inte() interrupt 0{ GPIO_LED=原创 2016-01-14 13:12:04 · 6650 阅读 · 0 评论 -
写定时器中断遇到的问题
写中断的时候,把中断时只需要执行一次的东西写到中断函数里,不要写到main函数的while循环中,否则会导致极短的时间内条件不断的满足,从而只需要执行一次的判断不断被执行,不断被满足。看下面的例子:第一种情况:void main(void){ GPIO_LED=0xfe; while(1) { if(count0==0) { GPIO_LED=_cro原创 2016-01-14 13:20:23 · 2262 阅读 · 0 评论 -
keil中定义变量的位置 error C141: syntax error near 'int'
必须放在函数最前面,否则将会提示syntax error near 'int'这玩意纠结了我好久原创 2016-01-14 15:34:23 · 9565 阅读 · 3 评论