標(biāo)題: MCU IO口模擬串口、PWM、IIC功能和芯片本身硬件自帶的串口、PWM、IIC有哪些異同? [打印本頁(yè)]

作者: QWE4562012    時(shí)間: 2022-1-5 15:27
標(biāo)題: MCU IO口模擬串口、PWM、IIC功能和芯片本身硬件自帶的串口、PWM、IIC有哪些異同?


作者: zhangxiaozi    時(shí)間: 2022-1-5 19:44
一個(gè)是純硬件執(zhí)行,一個(gè)是用軟件模擬硬件的時(shí)序,以串口為例,當(dāng)你發(fā)送一個(gè)字節(jié)0X55時(shí),硬件指行時(shí),你只要把他寫(xiě)進(jìn)發(fā)送寄存器,TX端就會(huì)以此出現(xiàn)  0 1 0 1 0 1 0 1 0 之后就是高電平了,而用軟件模擬時(shí),你就要控制一位的時(shí)間 先發(fā)個(gè) TX=0 延時(shí)一個(gè)位時(shí)間  TX=1 延時(shí)一個(gè)位時(shí)間 TX=0 。。。完全模擬上邊的時(shí)序,一位的時(shí)間在你判斷是發(fā)1 還是0 包括八位發(fā)完了的判斷,每個(gè)指令的執(zhí)行時(shí)間都要考慮進(jìn)去。如果有定時(shí)器你也可以把位時(shí)間交個(gè)定時(shí)器中斷去做,但要考慮定時(shí)器的賦值,中斷的執(zhí)行時(shí)間,和中斷的返回都是在一位的時(shí)間范圍內(nèi)
作者: QWE4562012    時(shí)間: 2022-1-10 17:45
zhangxiaozi 發(fā)表于 2022-1-5 19:44
一個(gè)是純硬件執(zhí)行,一個(gè)是用軟件模擬硬件的時(shí)序,以串口為例,當(dāng)你發(fā)送一個(gè)字節(jié)0X55時(shí),硬件指行時(shí),你只要 ...

那模擬串口容易丟包  出錯(cuò)
作者: xjx51    時(shí)間: 2022-1-12 19:20
從效果上來(lái)講兩者都差不多。但在操作上來(lái)說(shuō)的話(huà),硬件只需調(diào)用函數(shù)就行了,但模擬的話(huà)要調(diào)很多的時(shí)序之類(lèi)的,而且硬件的要比軟件模擬更穩(wěn)定一些,因此,在做大型項(xiàng)目時(shí)我還是推薦使用硬件。
作者: 188610329    時(shí)間: 2022-1-12 19:50
事實(shí)上,模擬的比硬件的自主性更高,穩(wěn)定性更好,如果你模擬的容易丟包,只能說(shuō)你的模擬代碼沒(méi)有寫(xiě)好。

硬件最大的優(yōu)勢(shì)是,不占用MCU的時(shí)鐘資源,速度更快,缺點(diǎn)是自由度過(guò)低。
作者: QWE4562012    時(shí)間: 2023-12-12 14:15
188610329 發(fā)表于 2022-1-12 19:50
事實(shí)上,模擬的比硬件的自主性更高,穩(wěn)定性更好,如果你模擬的容易丟包,只能說(shuō)你的模擬代碼沒(méi)有寫(xiě)好。

...

你好  你所說(shuō)的自由度是啥意思 比如呢
作者: zyx123    時(shí)間: 2023-12-12 15:37
模擬串口接收數(shù)據(jù)不及時(shí),而且容易丟失數(shù)據(jù)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1