STM32小白求问串口问题
时间:10-02
整理:3721RD
点击:
各位大神好,我现在想通过神舟IV号开发板(芯片是STM32F107)实现这样的功能:通过串口输入一个十进制数,读取之后进行判断,若大于100则LED1亮,小于100则不亮,请问大概思路是什么?
串口读取ASCII全部的字符(用结束符或者串口接收超时判断结束),将全部字符转换成数字,判断数字大小,超过100,执行对应操作,小于100,执行另外的操作~
相对的难点是串口中断接收和串口传输完成判断~望顺利
串口的中断接收与数据判断
串口的中断接收与数据判断
串口读取ASCII全部的字符(用结束符或者串口接收超时判断结束),将全部字符转换成数字,判断数字大小,超过100,执行对应操作,小于100,执行另外的操作~
用中断好点。配置好USART GPIO,配置NVIC中断优先级组、抢占优先级、响应优先级、中断向量,开接收中断,在中断函数中用If判断中断标志位以及LED点亮关闭程序
不用什么ASCII那么麻烦,用串口助手,不要勾选HEX发送,直接发送十进制数据,中范围断中接收数据然后判断即可。注意定义接收数据变量要范围大点,如unsigned int 等,防止你输入的数字过大超过
dadawawdawdwadwdwadawd