配置M5113波特率实现高速数据传送.pdf

   2013-03-23 工控之家网工控之家200
配置6117D板卡MI/O芯片M5113,
实现230400/460800bps波特率高速数据传送

M6117系列板卡上使用的多路I/O芯片是ALi M5113。它支持快速通用异步收发,最高波特率可达460800 bps。下面是实现这种功能的DOS C语言范例代码:
/* DM&P/ICOP M6117D 系列板卡上ALi M5113范例代码。*/
#
include <conio.h>
void M5113_Write(unsigned char cIdx, unsigned char cData)
{
outportb(0x3f1, 0x51);
outportb(0x3f1, 0x29);
inportb(0x3f1);
outportb(0x3f1, cIdx);
outportb(0x3f1, cData);
}
unsigned char M5113_Read(unsigned char cIdx)
{
outportb(0x3f1, 0x51);
outportb(0x3f1, 0x29);
inportb(0x3f1);
outportb(0x3f1, cIdx);
return inportb(0x3f1);
}
void main()
{
unsigned char cTemp;
/* 上面提到的ALi M5113寄存器数据的相关资料在
http://www.dmp.com.tw/tech/dmp-hw/misc/m5113.pdf CR8和CR9的16,17页上。*/
/* Enable UART1 hi-speed baud rate */
cTemp = M5113_Read(0x88);
/* 设置通用异步收发器1 达到最大波特率。*/
cTemp |= 0x20; /* set CR8 bit5 to 1 */ /* 设置CR8 bit5到1 */
M5113_Write(0x88, cTemp);
/* 设置通用异步收发器2 达到最大波特率 */
cTemp = M5113_Read(0x99);
cTemp |= 0x20; /* set CR9 bit5 to 1 */ /* 设置 CR9 bit5到1 */
M5113_Write(0x99, cTemp);
}
/* 参考表格 5-5, 用户在初始化UART的过程中:
使用32770 作为除法因子达到230400 的波特率。
使用30769 作为除法因子达到460800 的波特率。
*/

 
举报收藏 0打赏 0评论 0
更多>相关评论
暂时没有评论,来说点什么吧
更多>同类环保知识
推荐图文
推荐环保知识
点击排行
网站首页  |  免责声明  |  联系我们  |  关于我们  |  隐私政策  |  排名推广  |  广告服务  |  积分换礼  |  帮助中心  |  网站地图  |  违规举报
鲁ICP备12015736号-1