部分程序看不懂,求指教。

2019-07-21 05:24发布

第一个问题:我买的是一块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?

希望大家多帮帮我,适合初学者,在此谢谢大家了额!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。