本帖最后由 longzhaocy 于 2012-4-25 13:57 编辑
我现在板子上有一个stm32f103,它控制两块tl16c554,每个tl16c554扩展了4个串口,每个串口下挂载32个从设备,从
设备往串口发数据。stm32f103通过数据总线去读写tl16c554数据,现在要保证stm32f103能读到每个串口下每台从设备
数据,我应该怎么设计这个ucos系统?
我现在想这样设计的,开8个任务,每个任务控制一个串口,每个任务依次去读串口下每台从设备。我的疑问是:
1、那每次任务给单独一台从设备发读命令,中间要延时一下。这个延时是用ucos里的OSTimeDly,进行任务切换呢?还是
只是单单的用while(i)i--延时下,接着读数据?
2、如果是在1问题下,用while(i)i--,读完一台设备后就用OSTimeDly,进行休眠和任务切换,还是读完所有32台设备后
,再用OSTimeDly,进行任务切换。
3、如果是在1问题下,用OSTimeDly,那这8个任务应该怎么设计?
4、或者哪位有经验,有更好的设计方案,请指点下。 |