打印
[STM8]

stm8模拟串口程序

[复制链接]
654|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
renyaq|  楼主 | 2020-5-9 22:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
波特率9600,晶振32.768K
需要3个串口,只能模拟一个了,请大家帮忙

使用特权

评论回复
沙发
huwr| | 2020-5-9 22:14 | 只看该作者
我用I/O口模拟过串口,只做过发送,接收没做过。

使用特权

评论回复
板凳
zhuhuis| | 2020-5-9 22:19 | 只看该作者
可以用定时器控制每位的时间

使用特权

评论回复
地板
chenho| | 2020-5-9 22:21 | 只看该作者
也可以用示波器调试每位的时间。

使用特权

评论回复
5
juventus9554| | 2020-5-9 22:24 | 只看该作者

void init_TimerA(void)

{

TACTL |= TASSEL1+MC1+TACLR; //SMCLK ,连续记数,请TAR

CCTL0 |= OUT; //默认比较输出为1

P1DIR |= TXD;

P1SEL |= RXD+TXD;

}

使用特权

评论回复
6
supernan| | 2020-5-9 22:27 | 只看该作者
函数(模块)名称:init_TXD

功能:        初始化发送

输入参数: 无

输出参数: 无

函数返回值说明:无

使用的资源:

它说明: 无

*************************************************/

void init_TXD(unsigned int Byte)

{

Count_T = 11; //起始位,8位数据位,奇偶校验位,停止位

CCR0 = TAR + OneBit;

//-----------------------------------------------------

for(char i=0;i<8;i++)

{

if(Movebit & Byte)

{

ParityBit++;

}

Movebit <<= 1;

}

Movebit = 0x01;

if(ParityBit%2 == 0)

{

TxDate |=0x0200+Byte; //0010 xxxx xxxx

}

else

{

TxDate |=0x0300+Byte; //0011 xxxx xxxx

}

ParityBit = 0;

//--------------------------------------------------------


TxDate=TxDate<<1; //往左移1位,产生起始位


CCTL0 = OUTMOD0 + CCIE; //置位,比较中断允许

//while ( CCTL0 & CCIE ); //等待发送完毕

LPM0;


}

使用特权

评论回复
7
pangb| | 2020-5-9 22:30 | 只看该作者
利用定时器的比较捕获功能来模拟串口是完全可以的

使用特权

评论回复
8
yinxiangh| | 2020-5-9 22:35 | 只看该作者
两个定时器就可以模拟另外两路了。

使用特权

评论回复
9
ousj| | 2020-5-9 22:38 | 只看该作者
模拟串口的可以通过定时器的模拟来实现的。

使用特权

评论回复
10
zyf部长| | 2020-5-9 22:41 | 只看该作者
需要定时器的捕获功能的,还有时钟源的处理很重要的。

使用特权

评论回复
11
guoyt| | 2020-5-9 22:44 | 只看该作者

你是要直接配置寄存器的呢
还是使用定时器模拟串口操作。

使用特权

评论回复
12
wangzsa| | 2020-5-9 22:47 | 只看该作者

IO 口模拟串口,是要根据时序来完成的

使用特权

评论回复
13
happy_10| | 2020-5-9 22:52 | 只看该作者
串口的每位需延时0.104秒,中间可执行96个指令周期。

使用特权

评论回复
14
zhuhuis| | 2020-5-9 22:55 | 只看该作者
用IO模拟SPI或者I2C都可以啊

使用特权

评论回复
15
zwll| | 2020-5-9 22:59 | 只看该作者
需要模拟出串口时序

使用特权

评论回复
16
dingy| | 2020-5-9 23:03 | 只看该作者

IO模拟的话,要特别注意时序

使用特权

评论回复
17
houcs| | 2020-5-9 23:08 | 只看该作者
同步的还是异步的

使用特权

评论回复
18
renyaq|  楼主 | 2020-5-9 23:12 | 只看该作者

其实还是不大明白,我再琢磨琢磨吧,多谢了哈先

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

700

主题

10138

帖子

4

粉丝