单片机/MCU论坛
直播中

张辉

7年用户 1268经验值
私信 关注
[问答]

单片机上电运行后上位机串口发送特定的字符,发现程序不运行是为什么?

单片机上电运行后上位机串口发送特定的字符,单片机接收到之后,程序里自己写的函数的某个参数就会发生相应的变化,这个参数变化之后再执行main函数,这个怎么搞,我在main函数的一开头写了if条件判断时候,发现程序不运行。                  

回帖(2)

陈蓓

2023-10-19 10:45:45
首先,一般单片机只有一个main,而且运行都是从main开始的,所以你的逻辑需要调整一下。
1.你需要把原来main的主要功能部分重新封装为另外的函数如oldmain,来作为调用入口,并且实现某个函数关键信息受某个变量控制(比如加一层封装依据某全局变量值来调用)
2. 在新的main中实现接受上位机发送特定字符串
3. 把接受的字符串作为关键信息予以记录(存入关键信息全局变量)
4. 正式启动oldmain
举报

xingjian

2023-10-19 15:12:24
本帖最后由 jf_79610879 于 2023-10-19 16:20 编辑

主函数
{
//没收到字符前在这里等待
  while(收到特殊字符 != True);
//下面开始你的程序

}


举报

更多回帖

发帖
×
20
完善资料,
赚取积分