第一个问题:我买的是一块mini开发板,记得视频或者文档讲过,在mini 战舰开发板中这个串口实验的接收状态标记USART_RX_STA是8位的,但为什么在while循环中却是用USART_RX_STA&0x8000一个16位的相与,那这mini开发板中到底是8位的还是16位的?如果是8位只能计数64,16的话会2^14.
第二个问题:在串口实验程序main.c中,定义了u16 times=0,可是我不知道times这是什么意思,这是来对发送代码的次数进行计数吗?后面出现的
times++;
if(times%5000==0)
{
printf("
ALIENTEK MiniSTM32开发板 串口实验
");
printf("正点原子@ALIENTEK
");
}
if(times%200==0)printf("请输入数据,以回车键结束
");
if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
delay_ms(10);
}
对5000,200,30取余我又看不懂了,times是1,2,3,4……都不执行这些语句啊,可是问什么最后程序现实的时候会很快显示了呢?为什么是整除5000,200,30?
希望大家多帮帮我,适合初学者,在此谢谢大家了额!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2:额。这times是为了计数用的啊,为在串口软件上给予你提示输入数据。取余、、、你可以尝试把这取余改下,下载板子上看下就知道是什么了。。
对于你问第二个问题,表示你c语言,单片机没多少基础啊= =
原子哥上面的教程也讲得蛮详细的了。
2;这个就是用来计算用的。times每自增一次10ms啊
---------------------------------
是啊,原来上学时学的是汇编,自学了点c,所以基础很不好,不过我还是不懂,为什么times自增一次是10ms啊,能不能详细说一下,谢谢了。
一周热门 更多>