关于向uCOS-II添加驱动的问题

关于向uCOS-II添加驱动的问题,第1张

触屏驱动一般是只和你使用的GUI有关,所以你应该在你的驱动目录下添加对触摸屏进行良好封装的驱动程序(如:TouchPanel.h/TouchPanel.c),然后在看一下你用的UCOS系统下用的是什么样的GUI,把触屏驱动中的接口整合到你的GUI中去。

一般都是自己编写的,先建个该任务的堆栈,在声明该任务的优先级。下面是我自己代码中用的。

OS_STK TASK_STACK[OS_MAX_TASKS][TASK_SMALL_STK_SIZE]/*任务堆栈定义,这是任务堆栈数组,里面的两个是宏*/

void BSP_Init( void )

{

OS_CPU_SysTickInit() //初始化时钟滴答

、、 //这里是你项目中需要的驱动程序。

}

oid Task2(void *p_arg) //这是任务的代码!

{

p_arg=p_arg

for()

{

LED1_ON

OSTimeDly(200)

LED1_OFF

OSTimeDly(200)

}

}

int main()

{

OSInit()

OSTaskCreate( Task2, //这个是函数指针,函数名就可以了

(void *)0, //

(OS_STK*)&TASK_STACK[2][TASK_SMALL_STK_SIZE-1], //任务堆栈

(INT8U)TASK2_LED) //任务优先级

}

OSStart()//执行到这UCOS开始跑起来了。

return(0)

}

//时间片切换的不要 太快了,要不然会死机的!就是时钟滴答不要太快!

希望能对你有帮助!!

1.RS485和RS232一样都是基于串口的通讯接口,数据收发的 *** 作是一致的,所以使用的是同样WinCE的底层驱动程序。

但是它们在实际应用中通讯模式却有着很大的区别,RS232接口为全双工数据通讯模式,而RS485接口为半双工数据通讯模式。

数据的收发不能同时进行,为了保证数据收发的不冲突,硬件上是通过方向切换来实现的,相应也要求软件上必须将收发的过程严格地分开。

2.RS485接口组成的半双工网络,一般是两线制(以前有四线制接法,只能实现点对点的通信方式,现很少采用),多采用屏蔽双绞线传输。

在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。

RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。

3.另有一个问题是信号地,上述连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有二个原因:

(1)共模干扰问题:RS-485接口采用差分方式传输信号,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。

但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。

(2)EMI(电磁兼容性)问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),信号中的共模部分就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。

4.由于PC机默认的只带有RS232接口,有两种方法可以得到PC上位机的RS485电路:

(1)通过RS232/RS485转换电路将PC机串口RS232信号转换成RS485信号,对于情况比较复杂的工业环境最好是选用防浪涌带隔离栅的产品。

(2)通过PCI多串口卡,可以直接选用输出信号为RS485类型的扩展卡。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8063661.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存