9200的UART问题

[复制链接]
2262|1
 楼主| ehoosee 发表于 2008-12-16 20:43 | 显示全部楼层 |阅读模式
想用9200做一个串口,可发送一直无法完成,下面为简单的代码:<br /><br />void&nbsp;Uart1_Init(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Configure&nbsp;PIO&nbsp;controllers&nbsp;to&nbsp;drive&nbsp;US1&nbsp;signals<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91F_US1_CfgPIO&nbsp;();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Enable&nbsp;Peripheral&nbsp;clock&nbsp;in&nbsp;PMC&nbsp;for&nbsp;&nbsp;US0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91F_US1_CfgPMC();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91F_US_Configure&nbsp;(<br />&nbsp;&nbsp;(AT91PS_USART)&nbsp;AT91C_BASE_US1,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;US1&nbsp;base&nbsp;address<br />&nbsp;&nbsp;&nbsp;60000000,&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;//60&nbsp;MHz<br />&nbsp;&nbsp;&nbsp;AT91C_US_ASYNC_MODE&nbsp;,//AT91C_US_CHMODE_NORMAL&nbsp;|&nbsp;AT91C_US_PAR_NONE&nbsp;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;mode&nbsp;Register&nbsp;to&nbsp;be&nbsp;programmed<br />&nbsp;&nbsp;&nbsp;115200&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;&nbsp;&nbsp;//&nbsp;baudrate&nbsp;to&nbsp;be&nbsp;programmed<br />&nbsp;&nbsp;&nbsp;0);<br />&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;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91F_US_EnableTx((AT91PS_USART)AT91C_BASE_US1);<br />}<br /><br />void&nbsp;AT91F_US1_Printk(<br />&nbsp;char&nbsp;*buffer)&nbsp;//&nbsp;\arg&nbsp;pointer&nbsp;to&nbsp;a&nbsp;string&nbsp;ending&nbsp;by&nbsp;\0<br />{<br />&nbsp;while(*buffer&nbsp;!=&nbsp;'\0')&nbsp;{<br />&nbsp;&nbsp;while&nbsp;(!AT91F_US_TxReady((AT91PS_USART)AT91C_BASE_US1));<br />&nbsp;&nbsp;AT91F_US_PutChar((AT91PS_USART)AT91C_BASE_US1,&nbsp;*buffer++);<br />&nbsp;}<br />}<br /><br /><br />int&nbsp;main()<br /><br />{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Uart1_Init();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay_s(5);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AT91F_US1_Printk(&quot;\n\rBasicBoot&nbsp;Successfull:&nbsp;Enter&nbsp;main()_US1\n\r&quot;);<br /><br />&nbsp;&nbsp;&nbsp;}<br /><br />}<br /><br /><br />可一直没有数据输出,谢谢各位了!<br />
wangkj 发表于 2008-12-17 09:07 | 显示全部楼层

光盘上有历程,仔细对比一下。

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

116

帖子

0

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