VC/MFC
VB
Delphi
C++ Builder
C/C++
Java
.NET技术
MS-SQL Server
PowerBuilder
DB2
Oracle
Web 开发
Linux/Unix社区
硬件/嵌入开发
移动平台
您的位置:
程序门
->
硬件/嵌入开发
-> 片机/工控
问一个51经485和电脑通信的问题
[
收藏此页
] [
打印本页
]选择字色:
默认
灰色
红色
黄色
绿色
橙色
紫色
蓝色
褐色
墨绿
深蓝
赭石
粉绿
淡绿
黄灰
翠绿
综红
砖红
淡蓝
暗红
玫瑰红
紫红
桔黄
军黄
烟灰
深灰
灰蓝
背景色:
默认
黑色
红色
黄色
绿色
橙色
紫色
蓝色
褐色
墨绿
深蓝
赭石
粉绿
淡绿
黄灰
翠绿
综红
砖红
淡蓝
暗红
玫瑰红
紫红
桔黄
军黄
烟灰
深灰
灰蓝
字体:[
大
][
中
][
小
]
问一个51经485和电脑通信的问题
发表于:
2007-04-10 14:07:47
楼主
c51经过485-232口和pc连接
第一次调试 弄不出来
要求电脑上发一个数字 单片机返回一个数字 用的是串口助手
帮看看程序该怎么写吧
水平实在太差 没接触过 谁帮我改正一下吧
谢谢 调试成功 结帖加分
qq83310093
sbit b485 = p3^2;//232-485
sbit bdog = p3^4;//watchdog
/*89s51 485 ltc491 watchdog tcl1232 22.118mhz*/
#include "main.h "
sbit power_led = p3^5;
sbit rx_led = p3^6;
sbit tx_led = p3^7;
uint8 sendbuf[16],recebuf[16];
uint8 sendcount ,rececount=0;
watchdog()
{
uint16 i;
bdog=0;
for(i=0;i <900;i++);
bdog=1;
}
main()
{
p1 = 0xff;
p2 = 0xff;
power_led=0;
rx_led=0;
tx_led=0;
init();
ea=1;//开总中断
while(1) {
watchdog();
if (ri)
{
ri=0;
recebuf[0] = sbuf;
while(ri==0){;}
b485=1;
sbuf=recebuf[0];
while(ti==0);
ti=0;
b485=0;
}
}
}
void inittimer0(void)//1ms
{
tmod=tmod&0xf0;
tmod=tmod ¦0x01;
th0=0xf8;
tl0=0xcc;
tr0=1;
et0=1;
}
void init(void)
{
b485 = 0;//接收
inittimer0();
inituart();
}
void inituart(void)
{
tmod=tmod&0x0f;
tmod=0x20 ¦tmod; //定时1 模式2
scon=0xd0; //模式3 允许接收
th1=0xfa; //9600baud
tl1=0xfa;
pcon=0;
tr1=1;
et1=1;
es=1;
}
发表于:
2007-04-10 14:15:19
1
楼 得分:
0
描述一下硬件电路接口...
感觉你这个可能是没有考虑到485的半双工通信方式
发表于:
2007-04-10 14:23:22
2
楼 得分:
0
好的
sbit power_led = p3^5;电源灯
sbit rx_led = p3^6;收发灯
sbit tx_led = p3^7;
sbit b485 = p3^2;//232-485 接受输出允许位 驱动器输出允许位
p3.0 p3.1接485-232的r d引脚
sbit bdog = p3^4;//watchdog 看门狗喂狗脚
晶振22.1184mhz
发表于:
2007-04-10 15:20:42
3
楼 得分:
0
学习
发表于:
2007-04-10 15:38:16
4
楼 得分:
0
首先,喂狗不要这么复杂,bdog=0;bdog=1;两条指令就够了。你的喂狗循环占用时间太多,会影响串口接收。
然后,while(ri==0){;}是什么意思?制造一个死循环吗?看门狗可要起作用了。
最后,你的485芯片用的是什么型号?如果是4线的,没有必要关闭发送允许。如果是两线的,请注意485总线上要有上拉和下拉电阻。
欢迎光临我的开发笔记网页:http://imean.idhost.cn
发表于:
2007-04-10 16:16:30
5
楼 得分:
0
调整一下:
分两部调试,先调单独调收\发,再组合
收,用中断方式
发,用查询方式
单独的收发,先确定硬件可靠,然就一般就是波特率计算的问题.同样,如果232通信正常了,那就是485转换的问题
组合的时候,要注意的是:功能之间的耦合.最好一个功能就只做一件事,不要贪多...
发表于:
2007-04-10 18:09:10
6
楼 得分:
0
切换到rs485发送状态后,要等待0.5毫秒等待总线稳定后在发数据
发表于:
2007-04-10 19:46:12
7
楼 得分:
0
485是半双工的
发送和接受的位置,适当加nop
下一篇:
keilc51 变量存放位置?
上一篇:
我想编一个软件,又obj文件生成intel hex文件,怎么弄?obj到hex转换是咋弄的?
相关文章
[求助] ioregisterdeviceinterface不成功,以...
帮朋友问问该拿多少薪水
89c51制作 遥控高低8位用户识别码通过十六进...
急!!(evc4.0+ado3.1)create database&...
我的cy7c68013上电不能识别,请教
usb rndis的下载和调试
找单片机开发人员,厦门地区,要求st7920,串口方面...
求救:本本没有串、并口,大侠们提供一个usb下载...
怎样读取一个目录下特定类型的所有文件?
求救各位大虾:http服务器关于页面失效的处理方法...
wince6下的屏保问题?
请问ic卡于银行间通信的问题。
请教:哪里有 x86 的开发板
需windows底层开发人员,lijinping@hisencyber.c...
急求vs2005中vc的mobile wm5的mfc和pc ...
硬件/嵌入开发 2006-12专家榜
关于嵌入式数控的几个问题
高分提问 wince4.2 下可用的pcmcia&nb...
谁在linux下安装过ads1.2??指导下,感激先!!...
一台vxworks,一台windows ,如何实现 w...
其他资讯
急呀,单片机教学选型,麻烦给点意见呀!!!
wince注册表改为hivebased后,那个regflushkey要...
arm,fpga学习群qq:37392778,有高级工程师指导做项...
有没有不用驱动即插即用的蓝牙适配器?什么牌子的...
请教一个vhdl问题!
wince连接台机服务器问题与wince载体与台机共享i...
请教:wince中给整形数赋值后,高3位被置为0
小第初学单片机,问一下定时中断问题----望各路高...
evc短信程序问题!!急!
ads中使用c++和ucosii混合编程
请教ad da的问题
请教vxworks下 定时器的ticks设置无效问题。...
将sqlserver2000上的数据插入到ce数据里
高分请教简单问题:at89s52的访问外部地址问题
急求keil问题
急问 virtools与力反馈器
关于vxworks中网络的问题?
函数定义的参数不一样!
【急问】拉丁文(西班牙语)是否支持7bit编码方式...
高手救命:关于向pci9054中cpld寄存器中写入数据...
快速检索
分类导航标签a
Linux/Unix社区UNIX文化
移动平台其他移动相关
社区支持支持专区
WebSphereWebService
C++ BuilderVCL组件使用和开发
硬件使用网络设计与维护
Windows专区Windows NT/2000/XP/2003
专题开发/技术/项目函数式编程
软件培训/认证/考试软件水平考试
硬件/嵌入开发硬件设计
palm os招聘及招标
JavaIntelliJ
VBCOM/DCOM/COM+
软件工程/管理开发过程版
JavaJ2ME
最新资讯
linux 下安装httpd-2.0.58时编译问题
一路自学走来,大家看我入门没有?
超智能字符分割
swt 自带的例子simpleswtbrowser.java ...
如何吧gdb文件转换成ms sql-server数据库
关于java写socket服务和c写的客户端的通信
排序问题
reponse.cookies超时问题。
问个很菜的问题.按月查询怎么查?
怎么用冒泡法显示停车厂里每个车位所停的车辆(按...
过程调用疑问求解~~
急,在线等 ... google 支付接口问...
谁有需求分析报告,或者告诉我大概的格式
c程序员转向嵌入式的难点在哪里???
怎样去除网页中插入flash的安全提示?
一个链表的程序,总是出错,谁帮我看看,谢谢了
clistbox当用户选择文字和选中小方框,如何区别?...
关于sse2扩展指令集
sql语句筛选逗号的方法?
pos机上运行.net的配置要求!!
关于内存的疑问!
datalist绑定butten问题
请问一个xvid的注册问题.
数据库查询
等候
eclipse开发servlet问题
连接数据库的问题。。。
问一个简单的问题,怎么得到取ftp上文件的时间这样...
(delphi) fastreport 里面有个tfrol...
linux下的python2.5可不可以对远程主机上的excel...
数据库链接问题(dao方面的,有两句代码需要请分...
简单的汇编问题请教.
请教一些错误
菜鸟遭遇面试问题,请各位大大帮忙!敬谢!
如何提高自己成为专业的asp开发员
windows环境下32位汇编语言程序设计(第2版)&nbs...
帮我改下好吗?老是抛出异常
linux下c++中的char数组引用问题
好记星不能开机还不能格式化
新手问一个判断数据库数据变化的问题
热门点击
在vb.net编程中如何实现对access数据库存取图片?...
如何获得网页里的连接地址
如此火爆的貼
java程序中如何用runtime执行sql plus命令
java <> sql <>&nbs...
ioctl()函数
本人想做一个用ajax做一个.net的省式无刷新关联控...
代码见内,怎样再建个当天日期,然后跟终止日期比...
access+.net 支持联合查询吗?
程序自动关闭
打包程序问题
在线请教如何将oracle代码改为sql代码?
这样使用中文字符安全不?
在cdialog中怎样判断指定的cbutton按纽是否处于按...
没有基础能学java吗?
有关openrtsp的问题
printdocument 問題
如何用javascript与数据库数据间的操作 asp...
急!为什么说我没有构造函数?
问大家一个关于图形用户界面图标的问题
onreadystatechange 在firefox里要如何实现...
请教各位,怎样学好 struts spr...
如何免费装扮我的qq空间
自己写了个动态树,为什么是死循环?
谁能教我用delphi6做b/s模式的系统,我可以付钱!...
这个堆排序中filterdown函数今天弄晕了我整整一天...
读取大图片时内存溢出问题,在线等
flash+js图片交换鼠标链接问题
以相同的参数传入另一个页面后,它属于不相同的字...
多个adsl如何互联成为局域网
请帮忙看看这个webservice的问题。
jsp+tomcat tomcat启动之后运一行段时...
软件设计师的证怎么样啊?我马上就要考了
视图中如何嵌入属性表
一个小的teamleader郁闷求助,请友情协助,
vector和hashmap一般都用在什么地方
如何将窗口置顶
我要在window service服务启动后显示一个窗...
请问:80x86汇编语言与ibp-pc汇编是不是一样的啊,...
实用简单的jboss+java的校友录,有人要不....