社区
C语言
帖子详情
用TC编译对端口操作的程序,编译通过,连接不了,怎么回事啊?
Proteas
2006-06-09 06:46:26
用TC编译对端口操作的程序,编译通过,连接不了,怎么回事啊?
...全文
260
11
打赏
收藏
用TC编译对端口操作的程序,编译通过,连接不了,怎么回事啊?
用TC编译对端口操作的程序,编译通过,连接不了,怎么回事啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Proteas
2006-06-13
打赏
举报
回复
恩,明白了,谢谢楼上。不过不是用tc做工程开发,做实验。
Proteas
2006-06-12
打赏
举报
回复
自己顶,有工程经验的给指点下了。谢谢。
柯本
2006-06-12
打赏
举报
回复
两个问题
1.TC没有inb和outb函数,应该改为inportb和outportb
2.你定义并调用了SetPc0()函数,可没有写出它的实现
----------------------------------------------------
已经有十多年没用TC了,居然还有人用
Proteas
2006-06-12
打赏
举报
回复
继续顶,继续顶
flc
2006-06-12
打赏
举报
回复
关注
Proteas
2006-06-11
打赏
举报
回复
没有,在纯dos,实模式,已经用汇编又写了一遍,但是还不知道问题出在哪里。
bombwang
2006-06-10
打赏
举报
回复
mark
dengjun0256
2006-06-10
打赏
举报
回复
你一定是在windowsXX下运行TC的
Proteas
2006-06-10
打赏
举报
回复
还是不可以,真郁闷了。不知道问题出在什么地方。
beforewind
2006-06-09
打赏
举报
回复
放到main()函数前面试试
不行再 减少main中的循环层数试试
/*函数声明*/
void init_8253(void);
void init_8255(void);
unsigned char Read_8255B(void);
void DeLay(void);
void SetPc0(void);
int TestSwitch(void);
void play(unsigned char low,unsigned char high);
/*定义音符频率表*/
unsigned char Map_Music[8][2]={{17,38},{01,34},{30,30},{02,27},{9,24},{46,21},{12,19},{3,17}};
Proteas
2006-06-09
打赏
举报
回复
程序如下:
/*演奏音乐小程序*/
/*2006,6,9*/
/*---------------------------------------------*/
/*---------------------------------------------*/
#include<stdio.h>
#include<dos.h>
#include<conio.h>
/*定义常用断口地址*/
#define CNT_0 0x40 /*8253计数器0地址*/
#define CTRL_8253 0x43 /*8253控制口地址*/
#define CTRL_8255 0xff2b /*8255控制口地址*/
#define PORT_B 0xff29 /*8255B口地址*/
#define PORT_C 0xff2a /*8255C口地址*/
#define STATE_8253 0x36 /*8253控制字*/
#define STATE_8255 0x82 /*8255控制字*/
#define STATE_8255C 0x36 /*8255C口控制字*/
/*---------------------------------------------*/
/*主程序*/
int main(void)
{
/*函数声明*/
void init_8253(void);
void init_8255(void);
unsigned char Read_8255B(void);
void DeLay(void);
void SetPc0(void);
int TestSwitch(void);
void play(unsigned char low,unsigned char high);
/*定义音符频率表*/
unsigned char Map_Music[8][2]={{17,38},{01,34},{30,30},{02,27},{9,24},{46,21},{12,19},{3,17}};
/*--------------------------*/
/*初始化所用芯片,并写入控制字*/
init_8253();
init_8255();
if(!TestSwitch())/*消除抖动*/
return 1;
else
{
do
{
unsigned char temp=Read_8255B();
switch(temp)/*扫描按键*/
{
case 0 :SetPc0();break;/*置0*/
case 1 :play(Map_Music[0][0],Map_Music[0][1]);break;
case 2 :play(Map_Music[1][0],Map_Music[1][1]);break;
case 3 :play(Map_Music[2][0],Map_Music[2][1]);break;
case 4 :play(Map_Music[3][0],Map_Music[3][1]);break;
case 5 :play(Map_Music[4][0],Map_Music[4][1]);break;
case 6 :play(Map_Music[5][0],Map_Music[5][1]);break;
case 7 :play(Map_Music[6][0],Map_Music[6][1]);break;
case 8 :play(Map_Music[7][0],Map_Music[7][1]);break;
default: /*printf("Input Error!!");*/break;
}
}while('q'==getchar()||'Q'==getchar())/*结束循环*/;
return 0;
}
}
/*-----------------------------------*/
/*延时函数*/
void DeLay(void)
{
int count;
for(count=0;count<100;count++);
}
/*------------------------------------*/
/*初始化8255的函数*/
void init_8255(void)
{
outb(CTRL_8255,STATE_8255);
}
/*------------------------------*/
/*初始化8253的函数*/
void init_8253(void)
{
outb(CTRL_8253,STATE_8253);
}
/*------------------------------*/
/*读8255B口函数*/
unsigned char Read_8255B(void)
{
unsigned char Read;
Read=inb(PORT_B);
return Read;
}
/*-------------------------------*/
/*消除抖动函数*/
int TestSwitch(void)
{
unsigned char pre,now;
pre=Read_8255B();
DeLay();
now=Read_8255B();
if(now==pre)
return 1;
else return 0;
}
/*----------------------*/
/*GATE0置0函数*/
void SerPc0(void)
{
outb(PORT_C,STATE_8255C);
}
/*-----------------------*/
/*演奏函数*/
void play(unsigned char low,unsigned char high)
{
outb(CNT_0,low);
outb(CNT_0,high);
}
Qt步进电机上位机控制
程序
源代码Qt跨平台C C++语言编写 支持串口
Tc
p网口Udp网络三种
端口
类型 提供,提供详细注释和人工
Qt步进电机上位机控制
程序
源代码Qt跨平台C C++语言编写 支持串口
Tc
p网口Udp网络三种
端口
类型 提供,提供详细注释和人工讲解 1.功能介绍: 可控制步进电机的上位机
程序
源代码,基于Qt库,采用C C++语言编写。 支持...
sqm-qos:针对OpenWRT和SQM软件包的改进的QOS脚本。 QOS-NXT的后继者
平方米sqm-qos是qos-nxt的后继产品,它基于类似的原理构建。 它旨在作为项目开发的sqm软件包的一部分运行。... Routed变体使用iptables和connmark(act_connmark随附的入口),而Bridged变体仅使用
tc
和u32过滤。
OSXDeviceMapper
如果您的项目需要简单的块设备创建,如果您开发一个文件系统并需要许多设备进行测试,或者如果您计划在 OSX 上创建
tc
-play(一个 BSD 许可的 Truecrypt 实现)的
端口
,这个工具非常有用。 后者是我开始这个项目的...
c#做
端口
转发
程序
支持正向
连接
和反向链接
例子2:
连接
a机器的几乎所有
端口
都连不上(对方乃内网或者防火墙网关做了限制),只能1433上去,但是对方可以
连接
你的某些
端口
。 解决 第一种较简单,只需要
程序
在对方开80,你
连接
他80,
程序
收到数据后...
让vc
编译
出的
程序
减小体积
让vc
编译
出的
程序
减小体积 转自邪恶八进制 ----------------------------- 人们都说vc做出的东西可以小点,现在你打开vc
编译
一个Hello World出来!点属性看下,咦!我没走眼吧,就一Hello World就160kb真是要...
C语言
69,368
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章