今天很有激情的写了2440的UART的程序,写完调试的时候果然不出所料:电脑串口没有接收到2440发送的数据。认真检查了所有与UART的寄存器的配置,发现都没问题,但是就是不能接收到数据。
经过一个下午的DEBUG,没有进展,我得告诉自己冷静下来,从头分析!这时我才发现自己的笨拙,串口0对应的I/O口没有设置成RXD0、TXD0的模式,导致了数据不能接收和发送。后来在程序初始化里加了几句:
rGPHCON &= 0x3fff0f; //UART Mode
rGPHCON |= 0xa0;
rGPHUP |= 0x0c; //pull up function disable
问题解决。
这里稍微总结一下:做任何事情,首先都得做好初始化的准备。就如和漂亮美眉约会一样,这么高兴的事,如果不先“初始化”好时间地点,到最后也就只能白高兴一场了。
2010.12.07
文章评论(0条评论)
登录后参与讨论