| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 804 人关注过本帖
标题:求助
只看楼主 加入收藏
zff_ff
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2004-5-12
收藏
 问题点数:0 回复次数:2 
求助

大家可不可以介绍一两本有关串口编程的书给我

本人急用,在这里先行谢过

最好是用c语言描述

搜索更多相关主题的帖子: 最好 编程 c语言 
2004-10-11 23:45
chen__han1
Rank: 1
等 级:新手上路
帖 子:256
专家分:0
注 册:2004-9-16
收藏
得分:0 

不知道啊,帮你提到最前面去让人看,呵呵.


路漫漫其修远兮 吾将上下而求索!
2004-10-13 08:07
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

你说你有什么问题,我对这个了解一点,但不是很深,

希望可以帮帮你!

#define RBR_PORT 0x00 /*** receiver buffer register ***/ #define THR_PORT 0x00 /*** transmitter holding register ***/ #define DLL_PORT 0x00 /*** divisor latch (lsb) ***/ #define DLM_PORT 0x01 /*** divisor latch (msb) ***/ #define IER_PORT 0x01 /*** interrupt enable register ***/ #define IIR_PORT 0x02 /*** interrupt id register ***/ #define LCR_PORT 0x03 /*** line control register ***/ #define MCR_PORT 0x04 /*** modem control register ***/ #define LSR_PORT 0x05 /*** line status register ***/ #define MSR_PORT 0x06 /*** modem status register ***/

base=0x3f8;//串口号 dl=3;//分频系数 lcr=(_COM_CHR8|_COM_EVENPARITY|_COM_STOP1);

int init_serialport(int base, int dl, int lcr, int ier) { outp(base+LCR_PORT,0x80);//寄存器3,允许改变波特率 outp(base+DLL_PORT,dl&0x00ff);//寄存器8,波特率除数锁存低字节为dl,波特率为115200/dl outp(base+DLM_PORT,dl>>8);//寄存器8,高位锁存为0 outp(base+LCR_PORT,lcr);//寄存器3,改变奇偶校验,数据位,和停止位 outp(base+MCR_PORT,0x08);//开中断 outp(base+IER_PORT,ier);//寄存器1,每次从端口接受(发送)发生一次中断。 return 0; }

上面的代码是串口的初始化!

关于串口的读写,我一般都是用中断做的!

[此贴子已经被作者于2004-10-13 16:19:02编辑过]


差点把你忘了...
2004-10-13 16:17
快速回复:求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016066 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved