[ZLG-ARM] SmartArm2200(ARM嵌入式系统实验教程二)2.17UART实验2重大问题!

[复制链接]
 楼主| 51ti5000 发表于 2007-1-11 14:54 | 显示全部楼层 |阅读模式
周立功单片有限公司工程师<br />&nbsp;&nbsp;&nbsp;&nbsp;你好,我在用SmartArm开发板做&nbsp;smartarm2200《ARM嵌入式系统实验教程二》217UART实验2三个重大问题!经求助本地周立功单片机的分公司无果,故在这里请教,对于这两个问题我看了很久的书和PPT都没有答案所以在这里发帖求助下。希望得到你们的技术支持<br />&nbsp;&nbsp;&nbsp;1,查询数据是否发送完毕的这条程序<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;你们的原程序是while((U0LSR&0x20)==0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我改成while((U0LSR&0x40)==0)后经调试后也能达到跟上面一句相同的效果,所以我向问下这两句的区别,还有什么时候用while((U0LSR&0x20)==0),什么时候用while((U0LSR&0x40)==0),什么时候两句都可以用<br />&nbsp;&nbsp;&nbsp;2,下面这个问题才是最重要的<br />&nbsp;&nbsp;&nbsp;void&nbsp;__irq&nbsp;IRQ_UART0(void)<br />{<br />uint8&nbsp;i;<br />if((U0IIR&0x0f)==0x04)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;rcv_new=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />for(i=0;i&lt8;i++)<br />{<br />&nbsp;&nbsp;rcv_buf=U0RBR;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />}<br />根据贵公司的教学PPT和结合教程的理解,发生RDA中断时候,将读取U0RBR里面的数据走,因为读取走了一个数据,没有到达我们设置的8个字节的触发点,所以在读完第一次的U0RBR的时候,中断就应该不会执行了,所以想问的是这8&nbsp;BYTE的数据到底是怎么读出来的?<br />是根据8次RDA中断读出来的(每次中断读1BYTE)还是1次RDA中断读出来的(一次性读8BYTE)?<br />这问题困扰我很久了,请帮助我,谢谢。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
 楼主| 51ti5000 发表于 2007-1-11 17:07 | 显示全部楼层

UP

UP主题上去,每天一顶
 楼主| 51ti5000 发表于 2007-1-11 22:23 | 显示全部楼层

???

难道每人重视这个问题??
 楼主| 51ti5000 发表于 2007-1-12 09:47 | 显示全部楼层

请版主给于技术支持

请版主给于技术支持,就是觉得周立功公司技术支持好,才买板的。
 楼主| 51ti5000 发表于 2007-1-12 09:51 | 显示全部楼层

每天都顶一下

我想我的问题还是很有代表性的,谢谢
 楼主| 51ti5000 发表于 2007-1-12 10:02 | 显示全部楼层

不回信,我就天天顶

不回信,我就天天顶,让后来人看看ZLG的技术支持到底是怎么来技术支持的。
 楼主| 51ti5000 发表于 2007-1-12 10:15 | 显示全部楼层

不回信,我就天天顶

&nbsp;<br /><br />不回信,我就天天顶,让后来人看看ZLG的技术支持到底是怎么来技术支持的。&nbsp;<br />&nbsp;<br />
 楼主| 51ti5000 发表于 2007-1-12 10:19 | 显示全部楼层

不回信,

我就天天顶
 楼主| 51ti5000 发表于 2007-1-13 11:02 | 显示全部楼层

非常感谢周工

非常感谢周公的回答,可能我太心急了,所以说话比较重,请见谅,<br />我纸都周工很忙,谢谢你能给我解答这个疑惑。非常感谢。。
hotpower 发表于 2007-1-13 11:16 | 显示全部楼层

感觉LPCARM的UART很不错~~~

到底是做16c550的鬼子兵~~~ <br /> 相关链接:<a href='http://blog.21ic.com/user1/46/archives/2006/16878.html'>http://blog.21ic.com/user1/46/archives/2006/16878.html</a>
btiger2000 发表于 2007-1-22 15:11 | 显示全部楼层

我在485通信中的问题!

每次发送数据到FIFO后,马上判断while((U0LSR&0x40)==0),判断是否发送完毕,然后置485为接收状态,但是,好像还是丢了数据,总也得不到我要的数据。(而且,那个数据,也不是对方发过来的数据,会不会是,切换时的干扰阿?)不知道怎么才能解决阿?<br />
btiger2000 发表于 2007-1-23 09:46 | 显示全部楼层

仔细调试发现!

上位机发送3个字节,下位机回2个字节,这时下位机又收到一个字节,实际上上位机并没有发送!是不是,发送/接收时能切换导致的?!
lcyong 发表于 2007-1-23 10:53 | 显示全部楼层

嘿嘿 热闹

楼上几位讲到485通讯控制发送/接收,岂不是很麻烦呀,多一个控制口线,还多用一片隔离光耦,不经济!我做的许多产品,都不用CPU控制485发送/接收,运行也很好!只需改造一下485的收发设计电路就可以了,有论文介绍过!
stuarm 发表于 2007-1-25 08:35 | 显示全部楼层

请教lcyong

你是如何实现的呀,,你的论文在哪可以找到?谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部