一个C51的串口模拟程序 --- 请高手加注释

ht_toto 2003-10-04 01:01:54
小弟前两天在网上找到一份C51的串口模拟程序,但看不明白,大家一起来研究研究,也请前辈高人指点一下迷津。谢谢!
...全文
294 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
ht_toto 2004-03-06
  • 打赏
  • 举报
回复
结贴了。
zhizhengtanwei 2003-12-13
  • 打赏
  • 举报
回复
:)
cavenshen 2003-11-28
  • 打赏
  • 举报
回复
可以发给我一份吗?
caven_shen@sina.com
多谢!
liangsiyuan 2003-11-10
  • 打赏
  • 举报
回复
波特率计算比较简单,用示波器测一下就可以了。
ht_toto 2003-11-03
  • 打赏
  • 举报
回复
请问叶大哥,rs485_bond_rate怎么计算?这是否关系到波特率的准确性呢?
第1、2个字节不正确,是否要在发送第1个字节之前将RS_P_OUT置1或0?
这只是我的猜测而已,仅供参考。
liangsiyuan 2003-10-22
  • 打赏
  • 举报
回复
正在调试接收函数ing……

接收功能已经没有问题,但是波特率还不是很准,有点累了,明天再发给大家完整的程序。

------------------------------------------------------------------------

我的测试环境是MSP430F413+红外+RS485
liangsiyuan 2003-10-22
  • 打赏
  • 举报
回复
下面的程序是基于MSP430的串口模拟发送程序,测试没有问题。
**********************************************************

/* Func:基于串口方式的RS485发送函数
*/
void rs485_send_byte (unsigned char tx_data)
{
unsigned char BitCnt;

usart_parity = USART_BIT_9_L;

/* 1. Send Start Bit(1-bit),Start bit is 0 */
RS_P_OUT &= ~(RS_D);
delay(rs485_bond_rate);

/* 2. Send Data Bits(8-bit) */
for(BitCnt=0;BitCnt<8;BitCnt++)
{
if (tx_data & 0x01) // send 1
{
RS_P_OUT |= RS_D;//置高
usart_parity = ~usart_parity;
}
else //send 0
{
RS_P_OUT &= ~(RS_D);
}

delay(rs485_bond_rate);//在delay的同时TimerA工作于输出模式4以发送方波
tx_data >>= 1;
}

/* 3. Send Parity Bit(1-bit) */
if(usart_parity == USART_BIT_9_H)
{
RS_P_OUT |= RS_D;//置高
}
if(usart_parity == USART_BIT_9_L)
{
RS_P_OUT &= ~(RS_D);
}
delay(rs485_bond_rate);

/* 4 Send Stop Bit(1-bit) */
RS_P_OUT |= RS_D;//置?
delay(rs485_bond_rate);
}
liangsiyuan 2003-10-22
  • 打赏
  • 举报
回复
to:ht_toto(独眼龙)

我刚刚写完了一个模拟串口的程序,主要应用在红外和RS485,没有用MCU提供的UART,而是通过软件自己做的驱动。现在波形不太稳定。我明天再调试一下,好了就发给你。

我现在的问题是,第1和第2个字节的传输不太准,错误率很高;其他字节都可以100%传输。
ht_toto 2003-10-21
  • 打赏
  • 举报
回复
有没有关于模拟串口的程序或者思想呢?
大家也可以继续讨论上面的程序。
ht_toto 2003-10-21
  • 打赏
  • 举报
回复
liangsiyuan(叶),你的程序好像只是利用现成的串口来工作,并未做到模拟串口(我要的正是模拟串口啊),有没有关于模拟串口的程序或者思想呢?
lovewxr 2003-10-21
  • 打赏
  • 举报
回复
我是新手,能否也给我一份谢谢了.love-wxr@mail.china.com
liangsiyuan 2003-10-20
  • 打赏
  • 举报
回复
代码已经发给大家了
michael1514 2003-10-18
  • 打赏
  • 举报
回复
也给我一份,谢谢先。michaelsrh@126.com
stdzm 2003-10-18
  • 打赏
  • 举报
回复
我是新手,能否也给我一份谢谢了。stdzm@yahoo.com.cn
sanpato 2003-10-18
  • 打赏
  • 举报
回复
sanpato@sohu.com
谢谢,也能给一份吗?
ht_toto 2003-10-17
  • 打赏
  • 举报
回复
厄,liangsiyuan(叶)大哥,我还没有收到啊?
sherwin_huang 2003-10-17
  • 打赏
  • 举报
回复
liangsiyuan(叶)兄,也给我一份吧,谢谢!
hxy_hxy_hxy@163.com
li_qingsong 2003-10-17
  • 打赏
  • 举报
回复
li_qing_song@hotmail.com
多谢!
bluedreammer 2003-10-16
  • 打赏
  • 举报
回复
bluedreammer@sohu.com
謝謝先```
hitbuster 2003-10-16
  • 打赏
  • 举报
回复
也想靠分析代码来提高自己水平,liangsiyuan(叶)大兄,请给我一份:huichi@etang.com
加载更多回复(13)
VR(Virtual Reality)即虚拟现实,是一种可以创建和体验虚拟世界的计算机技术。它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真,使用户沉浸到该环境中。VR技术通过模拟人的视觉、听觉、触觉等感觉器官功能,使人能够沉浸在计算机生成的虚拟境界中,并能够通过语言、手势等自然的方式与之进行实时交互,创建了一种适人化的多维信息空间。 VR技术具有以下主要特点: 沉浸感:用户感到作为主角存在于模拟环境中的真实程度。理想的模拟环境应该使用户难以分辨真假,使用户全身心地投入到计算机创建的三维虚拟环境中,该环境中的一切看上去是真的,听上去是真的,动起来是真的,甚至闻起来、尝起来等一切感觉都是真的,如同在现实世界中的感觉一样。 交互性:用户对模拟环境内物体的可操作程度和从环境得到反馈的自然程度(包括实时性)。例如,用户可以用手去直接抓取模拟环境中虚拟的物体,这时手有握着东西的感觉,并可以感觉物体的重量,视野中被抓的物体也能立刻随着手的移动而移动。 构想性:也称想象性,指用户沉浸在多维信息空间中,依靠自己的感知和认知能力获取知识,发挥主观能动性,寻求解答,形成新的概念。此概念不仅是指观念上或语言上的创意,而且可以是指对某些客观存在事物的创造性设想和安排。 VR技术可以应用于各个领域,如游戏、娱乐、教育、医疗、军事、房地产、工业仿真等。随着VR技术的不断发展,它正在改变人们的生活和工作方式,为人们带来全新的体验。

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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