|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
ARM的UART是否有問題? |
| 作者:wishhealth 欄目:ARM技術 |
近來發(fā)現ARM的UART有個大問題: 當需要發(fā)送的數據為0x00時,將U0THR=0x00,UART不發(fā)送,即使改變比特率、FIFO也無濟于事,換句話說就是UART不能發(fā)送數據0x00,這在PHILIPS.html">PHILIPS的900系列中并沒有這個問題,大家有沒有碰到這個問題?如何解決的? 請ZLGARM也來探討一下,現在發(fā)現PHILIPS的ARM外圍器件中有不少的缺陷或是不合理的地方,建議向PHILIPS公司反饋一下,希望在日后的產品中能避免現有的缺陷。如ADC部分,若軟件啟動轉換能同時轉換所選中的所有通道(900系列就是如此工作的)。再如希望能增加幾根DAC通道,1根通道在模擬量的控制上實在不夠用。謝謝! |
| 2樓: | >>參與討論 |
| 作者: iamsxj 于 2006/5/9 15:34:00 發(fā)布:
第一個問題根本不存在。 我試了一下。 |
|
| 3樓: | >>參與討論 |
| 作者: wishhealth 于 2006/5/9 16:01:00 發(fā)布:
你用哪個芯片? 請用此程序試一下,謝謝! #include "config.h" uint32 TestTemp=0x08008800; #define UARTBPS 115200 // 串口通訊波特率 void UART0Init (void) { uint16 Fdiv; U0LCR = 0x83; // DLAB=1,允許設置波特率 Fdiv = (Fpclk / 16) / UARTBPS; // 設置波特率 U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0x03; } void DelayNS(uint32 dly) { uint32 i; for(; dly>0; dly--) for(i=0; i<50000; i++); } int main (void) { PINSEL0 = 0x00000005; //設置P0.0 0.1 UART0 PINSEL1 = 0x00000000; PINSEL2 = PINSEL2 & (~0x08); // P1[25:16]連接GPIO UART0Init(); //初始化UART0接口 while(1) { U0THR=TestTemp>>24; DelayNS(10); U0THR=TestTemp>>16; DelayNS(10); U0THR=TestTemp>>8; DelayNS(10); U0THR=TestTemp; DelayNS(10); } return 0; } |
|
| 4樓: | >>參與討論 |
| 作者: btiger2000 于 2006/5/9 16:15:00 發(fā)布:
用isp下載,可導致pc收不到00 串口調試助手收不到,我當時也以為arm沒發(fā),重啟計算機就好了! |
|
| 5樓: | >>參與討論 |
| 作者: wishhealth 于 2006/5/9 16:18:00 發(fā)布:
有這種事??? 試了一下,真的是由于ISP引起的。 * - 本貼最后修改時間:2006-5-9 17:58:03 修改者:wishhealth |
|
| 6樓: | >>參與討論 |
| 作者: zlgarm 于 2006/5/10 9:45:00 發(fā)布:
那可以說不可能的,我們許多產品都使用LPCARM的 UART 那可以說不可能的,我們公司許多產品都使用LPC ARM的UART,并且傳輸大量數據從沒有出現問題.而且那么多用戶都使用UART開發(fā)了不同的產品,從沒有人提出過有這些問題.而您說發(fā)現有那樣個問題,難首您沒有認真想過是為什么? |
|
| 7樓: | >>參與討論 |
| 作者: cgi 于 2006/5/10 14:43:00 發(fā)布:
最終答案! 你用的串口調試助手有問題,換一個使使。 |
|
| 8樓: | >>參與討論 |
| 作者: 云中月8888 于 2006/5/10 15:44:00 發(fā)布:
to zlgarm 反映這個問題的人多了,至少我在帖子里看見了7,8個...... 你們應該自己反思一下為什么?...... 新版的isp軟件雖然改進了這個bug,但其它地方也不盡人意。 一個好的軟件不應該改變串口的缺省配置,PHILIP也應該反思.... * - 本貼最后修改時間:2006-5-10 15:52:14 修改者:云中月8888 |
|
| 9樓: | >>參與討論 |
| 作者: wishhealth 于 2006/5/11 8:14:00 發(fā)布:
最新ISP是多少版的? |
|
| 10樓: | >>參與討論 |
| 作者: zlgarm 于 2006/5/11 9:21:00 發(fā)布:
re ISP軟件使用過后,再使用UART從ARM發(fā)送數據0時,PC機上的一些軟件會收不到.這是由于ISP軟件改變了操作系統(tǒng)的某個系統(tǒng)全局變量.所以重啟機器就可以收到0了. 很多PC端串口軟件在編寫時都沒注意這個問題. |
|
| 11樓: | >>參與討論 |
| 作者: greatbin 于 2006/5/12 12:42:00 發(fā)布:
系統(tǒng)全局變量:就是nulldiscard |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |