标题:
写单片机程序时怎么实现多个功能同时运行?
[打印本页]
作者:
ww4343ww
时间:
2019-12-23 22:41
标题:
写单片机程序时怎么实现多个功能同时运行?
在只有一个主函数的情况下,怎么写程序可以让多个函数同时运行。
作者:
csmyldl
时间:
2019-12-24 02:22
单片机运行程序不是多线程的,只有一个程序函数运行完了才能执行另一个函数,不知道你问的是不是执行多个任务,当某个函数占用时间较短时,运行的结果的现象好象是同时执行了
作者:
pcbboy
时间:
2019-12-24 08:09
循环执行多个任务,Main 函数要限制比较长的延时。中断函数可打断Main函数 ,主要任务会丛中断进入打断主程序执行,完毕后回到Main函数继续,加个看门狗防止某任务一去不复返。
作者:
979784276
时间:
2019-12-24 09:11
多个函数不可能同时运行,因为是单核的,只有一个CPU,用操作系统也是一个时间运行一个函数,由于在不同函数间快速切换,看起来是一个时间在运行两个函数,看起来哟
作者:
天风情
时间:
2019-12-24 09:16
每次只能执行一个函数
作者:
angmall
时间:
2019-12-24 09:54
当前的主流单片机,可以分时“执行多个任务”。
但注意的是,它是分时操作,也就是说,在某一时刻它只能做一件事。
比如“一面流水灯,一边扬声器唱歌”,它可以:需要调整灯光时,暂停一下发声,调完灯光后再接着发声,这样循环下去。如果它做得够快的话,你可以感觉不到停顿。
作者:
xianfajushi
时间:
2019-12-24 11:11
从电路结构来说蛋骗鸡是可以同时执行多个任务,就是主程,定时,中断.巧用则可完成多任务.
作者:
还有谁?
时间:
2019-12-24 11:55
你这个问题提的很好,但是如果你学会了定时与中断,你的问题应该很好解决,执行代码比较占用主函数时间的,要尽量放到定时中断里面去做,有些代码能用定时器来做的,也要选择用定时器。
作者:
aluwen
时间:
2019-12-24 14:07
单片机是单线程的
举个例子:避免在代码里使用while循环,如果判断不对,就去执行另一个函数,过一段时间再来判断第二次。
实在不行就加中断或者定义函数的时候用inline内联函数加快速度
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1