MCU IO口模拟串口、PWM、IIC功能和芯片本身硬件自带的串口、PWM、IIC有哪些异同?

MCU IO口模拟串口、PWM、IIC功能和芯片本身硬件自带的串口、PWM、IIC有哪些异同?

查看: 3326|回复: 6

MCU IO口模拟串口、PWM、IIC功能和芯片本身硬件自带的串口、PWM、IIC有哪些异同?

[复制链接]

ID:668004

当前离线

积分17006

电梯直达

楼主

ID:668004

发表于 2022-1-5 15:27

|

只看该作者

|只看大图

|倒序浏览

|阅读模式

STM32&STM8型号对比.jpg (248.06 KB, 下载次数: 52)

下载附件

2022-1-5 15:27 上传

分享到:

QQ好友和群

QQ空间

腾讯微博

腾讯朋友

收藏0

淘帖0

顶0

踩0

回复

使用道具

举报

ID:287575

当前离线

积分4173

沙发

ID:287575

发表于 2022-1-5 19:44

|

只看该作者

一个是纯硬件执行,一个是用软件模拟硬件的时序,以串口为例,当你发送一个字节0X55时,硬件指行时,你只要把他写进发送寄存器,TX端就会以此出现 0 1 0 1 0 1 0 1 0 之后就是高电平了,而用软件模拟时,你就要控制一位的时间 先发个 TX=0 延时一个位时间 TX=1 延时一个位时间 TX=0 。。。完全模拟上边的时序,一位的时间在你判断是发1 还是0 包括八位发完了的判断,每个指令的执行时间都要考虑进去。如果有定时器你也可以把位时间交个定时器中断去做,但要考虑定时器的赋值,中断的执行时间,和中断的返回都是在一位的时间范围内

回复

使用道具

举报

ID:668004

当前离线

积分17006

板凳

ID:668004

发表于 2022-1-10 17:45

|

只看该作者

zhangxiaozi 发表于 2022-1-5 19:44

一个是纯硬件执行,一个是用软件模拟硬件的时序,以串口为例,当你发送一个字节0X55时,硬件指行时,你只要 ...

那模拟串口容易丢包 出错

回复

使用道具

举报

ID:884042

当前离线

积分1674

地板

ID:884042

发表于 2022-1-12 19:20

|

只看该作者

从效果上来讲两者都差不多。但在操作上来说的话,硬件只需调用函数就行了,但模拟的话要调很多的时序之类的,而且硬件的要比软件模拟更稳定一些,因此,在做大型项目时我还是推荐使用硬件。

回复

使用道具

举报

ID:624769

当前离线

积分26361

5#

ID:624769

发表于 2022-1-12 19:50

|

只看该作者

事实上,模拟的比硬件的自主性更高,稳定性更好,如果你模拟的容易丢包,只能说你的模拟代码没有写好。

硬件最大的优势是,不占用MCU的时钟资源,速度更快,缺点是自由度过低。

回复

使用道具

举报

ID:668004

当前离线

积分17006

6#

ID:668004

发表于 2023-12-12 14:15

|

只看该作者

188610329 发表于 2022-1-12 19:50

事实上,模拟的比硬件的自主性更高,稳定性更好,如果你模拟的容易丢包,只能说你的模拟代码没有写好。

...

你好 你所说的自由度是啥意思 比如呢

回复

使用道具

举报

ID:318489

当前离线

积分61

7#

ID:318489

发表于 2023-12-12 15:37

|

只看该作者

模拟串口接收数据不及时,而且容易丢失数据

回复

使用道具

举报

相关推荐