陷入PIC18F4550的数据帧

B

brucelee2

Guest
大家好,进出口工作为我的房间的个人项目。我有一个HMI(人机界面),它的一个800 * 480屏幕。它工作的,你发送给它(我的通信协议和dataframe)采用标准的串行连接的各种命令。现在:屏幕发送到单片机的数据在指定的波特率框架。此数据帧看起来像:(。触摸屏经纬度)将0xAA(开始)0x73(16位的X座标。)(16位y坐标)0x33 0x3C 0xC3所以有移动时,我推触摸屏位的车费。 PIC的它只在UART模块我猜8位寄存器。因此,如何可以取得这个多少位到一个变量?(维持波特率等...)也许中断?即时通讯使用MIKROELECTRONIKA MikroC编译器。有一个简单的UART库位似乎在一时间8位......期待您的回音家伙!欢呼声中,布鲁斯:Ð
 
你好,由于图片的USART模块固定在8或9位只和X / Y坐标正被送往16个数据位,那么只有这样我才能看到它能够做的就是写自己的软件串行链路。如果你猛击你会发现一些地方的芯片已用完了USART的端口,或根本没有任何个USART例子位搜索,因此被写入了软件个USART,填补了国内空白。他们大概都在8位模式,但相信这将引导,如何使它acceprt 16位你。
 
的小费好,谢谢。喔Mikroelectronica的MikroC有一个软件UART的库,但只有8位handeling再次:-( ..我想我得试试''位banging'soon:山口认为其将是为大型数据帧非常艰难.. ..如果任何一个有一些很好的例子在C(s),请给我一份。
 
嗨,这种传感器使用SPI串行12位数据并发送蒸跨越。在此页的右侧是一些C代码示例,可以证明非常有用。 (使用传感器自己,但只有在汇编)[网址] http://www.sensirion.com/en/01_humidity_sensors/02_humidity_sensor_sht11.htm [/网址]
 
是否有其他人知道如何处理位撞?如果它不会停,如:1。产生外部中断发生时,起始位。 2。开始的1 / 3 * 1/baudrate即来样针计时器。每3位时间。 3.Dissable在这段时间中断。 4。转变为停止位6.disable时间和重新启用到变量5.check位外部中断这种声音是如何?
 
这可能是该设备返回而不是16位的值,但两个连续的8位值,这意味着要到16位连接在一起。
 
其送入为0x呢?? 8位十六进制值,但在一次在指定的波特率大型流。所以我无法处理与太平洋岛国的UART模块中,而是要inplement一些软件来做到这一点。 Bitbanging。但如何做bitbanging是我必须搞清楚。一proceedures /事件的过程图,将有助于我猜
 
因此,这人机界面采用的标准串行连接',但不是一个标准的串行协议,也就是说,没有起始位,停止位框架。怎么样part-/model-number?
 
它采用8N1,所以8个数据位,停止和启动位,无校验位。我想在聊天室困惑的是,这将是一个大的数据帧。但是,将MCU的人机界面停止发送下一个字节,如果尚未注册我的源代码读?或将在HMI继续.... :|
 
[行情]还是会继续....[/的HMI报价]是的,除非两个同龄人可以使用硬件握手。一个注册不应该有问题的数据读取到缓冲区和突发处理它们后来甚至它在飞行过程 - 以合适的编程。在UART中断接收的数据是常用的方法。
 
有一个握手命令发送到HMI,但这不是硬件。发送将0xAA 0x00 0x33 0xC3 0x3C;其中0x00 '' ''是握手的一部分,其余部分是框架结构。只有3个连接到HMI - >“接收发射接地。 Naybe上使用Tx脚interrup routunes有效!
 
伪代码:[代码]接收中断:如果收到的字符为'AA'存储Buffer_pointer + +其他Buffer_pointer = 0 Message_received缓冲区= 0如果Buffer_pointer == length_of_message + 1 = 1,关闭接收机Message_received结束中断[/代码]转.. 。答复部分似乎足够直截了当不要求中断,但它是很容易做到,一旦接收想通了。
 

Welcome to EDABoard.com

Sponsor

Back
Top