求救!有段Rs232程序看不明白,请教各位大侠!

killyou1979 2004-05-09 08:11:48
我这里有个c语言写的串口程序,编译是用turboc2.0,在里面有这么一段:
const INS8250 RS232 = {
{ 0x3f8, 0x3f8, 0x3f8, 0x3f9, 0x3f9, 0x3fa, 0x3fc, 0x3fd, 0x3fe},
{ 0x2f8,0x2f8,0x2f8,0x2f9,0x2f9,0x2fa,0x2fb,0x2fc,0x2fd,0x2fe }
};
这里的关键字const有什么作用,这个关键字不是c++里的吗?c程序设计里没有这个关键字呀!请各位大师给以指导
...全文
53 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
killyou1979 2004-05-09
  • 打赏
  • 举报
回复
多谢各位!
improgrammer 2004-05-09
  • 打赏
  • 举报
回复
你要贴出INS8250的定义才好解释这段代码。
一、设想:
typedef struct
{
unsigned short u1;
unsigned short u2;
unsigned short u3;
unsigned short u4;
unsigned short u5;
unsigned short u6;
unsigned short u7;
unsigned short u8;
unsigned short u9;
}PARAMS_U;
typedef struct
{
unsigned short v1;
unsigned short v2;
unsigned short v3;
unsigned short v4;
unsigned short v5;
unsigned short v6;
unsigned short v7;
unsigned short v8;
unsigned short v9;
unsigned short v10;
}PARAMS_V;

typedef struct
{
PARAMS_U u;
PARAMS_V v;
}INS8250;

多半是给通信端口设定参数用的,“8250”好象是微机串口控制芯片的型号。

二、这段代码就是做结构常量的初始化。
const INS8250 RS232 = {
{ 0x3f8, 0x3f8, 0x3f8, 0x3f9, 0x3f9, 0x3fa, 0x3fc, 0x3fd, 0x3fe},
{ 0x2f8,0x2f8,0x2f8,0x2f9,0x2f9,0x2fa,0x2fb,0x2fc,0x2fd,0x2fe }
};
就是说,RS232.u.u1=0x3f8;RS232.u.u2=0x3f8;……RS232.v.v1=0x2f8;……
kwzzt 2004-05-09
  • 打赏
  • 举报
回复
0x3f8,0x3f9...是COM1的端口地址
0x2f8,0x2f9...是COM2的端口地址
具体说明请参考微机原理
killyou1979 2004-05-09
  • 打赏
  • 举报
回复
那我这段程序里给他初始化不是很明白怎么回事?
能帮我解释一下这段程序吗?
saoyu 2004-05-09
  • 打赏
  • 举报
回复
常量,必须在声明的同时初始化,而且不能被修改。
zhouqingyuan 2004-05-09
  • 打赏
  • 举报
回复
C中也有,表示一个常量。不过提的比较少。
晨星 2004-05-09
  • 打赏
  • 举报
回复
C里也有啊,表示常量,初始化后不能被修改。

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧