STM8 I口模擬串列埠通訊
使用普通的IO口,模擬串列埠協議, 和PC端串列埠除錯軟體實現通訊。
網上找了很多資料,有很多網友有些程式,但是感覺都不是很完整,無意間看到ST官方居然有實現,直接下載程式碼開始用。
針對官方的IO口模擬串列埠軟體,簡單介紹下用到資源。
由於模擬的串列埠RX腳,對於電平的輸入判斷用到定時器的輸入捕獲功能,所以官方用的是定時器3的通道2。
我自己在STM8S003F3P6最小系統上,移植到了TIM2的CH1即PD4用來做串列埠的RX腳,和PC端串列埠偵錯程式的TX腳連線。
模擬串列埠的TX腳沒有特殊要求,我這裡用的PD3。。。。
修改了MAIN裡面的函式,實現模擬串列埠直接傳送接收到的資料。
PPS,關於串列埠波特率的配置,
這個軟體包你需要配置下使用外部24MHZ還是內部16MHZ的晶振,我這裡配置的內部16M,
然後在模擬串列埠初始化裡面,按照需要配置的波特率,配置定時器的時基。
常用的函式註釋裡面已經有給你計算好,直接copy就好, 我這裡用的16M,9600bsp,所以填的是註釋裡面給的833.
簡單配置以後就可以實現IO模擬串列埠通訊了。
主要是為了節約成本,加個硬體的串列埠,成本又加了。
需要原始碼的下面地址下載,直接可以用
相關推薦
STM8 I口模擬串列埠通訊
使用普通的IO口,模擬串列埠協議, 和PC端串列埠除錯軟體實現通訊。 網上找了很多資料,有很多網友有些程式,但是感覺都不是很完整,無意間看到ST官方居然有實現,直接下載程式碼開始用。 針對官方的IO口模擬串列埠軟體,簡單介紹下用到資源。 由於模擬的串列埠RX腳,對於電平的
教你如何在51微控制器上模擬串列埠通訊!!!
我們可以不使用微控制器本身帶有的串列埠,而自己用程式去模擬一個串列埠並達到和本身的串列埠具有同樣的功能, 首先,我們需要用到CH340串列埠模組,大家可以上某寶自行購買。 正面: 反面: 然後我們需要了解一下這串列埠模組上的引腳: 5V :與VCC短路為5V TL
在210上做io口模擬串列埠
核心版本:linux3.0.8 CPU:s5pv210 在driver/char/ 目錄下新增驅動IO_URAT.c /************************************* NAME:IO-UART.c *******************
用STM32F103RCT6的普通IO口模擬串列埠的實驗
使用了STM32CubeMX及Keil (HAL庫)材料:stm32開發板、USB轉TTL?CH340模組、杜邦線、st-link實驗原理:模擬了非同步半雙工通訊波特率可變起始位:1資料位:8停止位:1(1個數據10位)無校驗位傳輸一個字元的時候先發送1位起始位,然後是8位資
使用微控制器普通IO口模擬串列埠的三種方法
隨著微控制器的使用日益頻繁,用其作前置機進行採集和通訊也常見於各種應用,一般是利用前置 機採集各種終端資料後進行處理、儲存,再主動或被動上報給管理站。這種情況下下,採集會需 要一個串列埠,上報又需要另一個串列埠,這就要求微控制器具有雙串列埠的功能,但我們知道一般的51 系列只提供一個串列埠,那麼另一
11.4 IO口模擬UART串列埠通訊
為了讓大家充分理解 UART 串列埠通訊的原理,我們先把 P3.0 和 P3.1 當做 IO 口來進行模擬實際串列埠通訊的過程,原理搞懂後,我們再使用暫存器配置實現串列埠通訊過程。對於 UART 串列埠波特率,常用的值是 300、600、1200、2400、4800、960
51微控制器 (5)VSPD+Proteus+串列埠除錯工具+Keil C51實現微控制器串列埠通訊模擬
【若有疑問錯誤或版權等問題請聯絡我】 1、效果圖 2、虛擬串列埠 通過VSPD虛擬串列埠工具虛擬出兩個串列埠用於通訊 3、串列埠除錯 開啟兩份串列埠除錯工具,第一個開啟com1,
MFC串列埠通訊例項
參考MSComm控制元件的用法和函式說明。裡面講得也算詳細了。所以這裡直接獻上原始碼示例。 github下載地址 CSDN下載地址 效果如圖: 需要注意的是: 1.如果想同時recv/send,則必須加個執行緒。 2.奇偶校驗中,引數設定為,無(n),偶校驗(o),
C++實現串列埠通訊上位機軟體
串列埠使用的是RS232匯流排進行通訊,通訊方式是半雙工。有兩種方式可以實現串列埠通訊,一種是通過ActiveX控制元件這種方法程式簡單,但欠靈活。第二個是可以通過呼叫Windows的API函式,本例程通過第二種方式。 一般通過四步來完成通訊(1)開啟串列埠(2)配置串列埠(3)讀寫串列埠(4)
Boost串列埠通訊第一課 boost::asio::serial_port基本使用
boost庫有一個asio,支援串列埠通訊。步驟: 1、產生一個boost::asio::io_service(前攝模式,類似於完成埠,不過,可以針對不同IO物件) 2、構造一個boost::asio::serial_port,有兩種方法: (一)boost::asio::serial_po
CnComm多執行緒串列埠通訊類的封裝實現v0.02
在CnComm多執行緒串列埠通訊類的封裝實現一文中實現了對於cncomm多執行緒串列埠類的簡單封裝,新版本將串列埠管理類改成了工廠類和單例類,實現了對於動態擴充套件新的串列埠,新的版本符合開閉原則。 1.串列埠管理類 #ifndef _COMM_MANAGE_H_ #def
Boost串列埠通訊第二課 阻塞問題
場景 按照第一課提供的程式碼,在阻塞等待時間多長,會導致Win10系統崩潰,崩潰的資訊如下: 1)第一種情形 終止程式碼:DRIVER_IRQL_NOT_LESS_EQUAL2)第二種情形 wd
在AT151上面測試串列埠通訊
如下圖所示,分別用putty開啟兩個視窗,一個是串列埠開啟的,另外一個是網口連線的,分別是接收和傳送,硬體上面RXD和TXD進行短接進行資料迴流。 使用microcom工具,ctrl+x可以退出 參考文件 https://www.cnblogs.com/chenfulin5/p/6089
C語言RL78 serial bootloader和C#語言bootloader PC端串列埠通訊程式
瞭解更多關於bootloader 的C語言實現,請加我QQ: 1273623966 (驗證資訊請填 bootloader),歡迎諮詢或定製bootloader(線上升級程式)。 前段時間完成的hyperboot_rl78, 是專門為Renesas 16-bit微控制器RL78 通
【C語言實現串列埠通訊知識點整理(四)】關於執行緒和程序
轉載:https://www.cnblogs.com/fuchongjundream/p/3829508.html 因為在外部檔案中呼叫結構體沒有用extern修飾,導致獲取不到正確的值,一直糾結線上程上。現在大概總結執行緒和程序的特點: 概念 1、程序(process) 狹義定義:
【C語言實現串列埠通訊知識點整理(三)】串列埠開啟、設定資料成功後進行資料讀寫
int OpenDev(char *Dev) { int fd = open(Dev,O_RDWR | O_NOCTTY | O_NONBLOCK); if(-1 == fd) { perror("Can't Open Serial Port"); return -1;
【C語言實現串列埠通訊知識點整理(二)】遇到的問題整理(待續....)
1.c編譯錯誤--error:stray \357 in program UTF-8編碼問題。UTF-8編碼有BOM和無BOM格式。BOM,ByteOrderMark(位元組標記順序),表明使用UTF8來進行編碼。UTF-8的BOM通常為3個位元組EF BB BF。轉換成對應的字元檢視,就是‘\
【C語言實現串列埠通訊知識點整理(一)】執行緒、開啟串列埠、設定波特率、設定校驗位、互斥鎖等實現基本的通訊
部分程式碼借鑑地址:https://blog.csdn.net/wangqingchuan92/article/details/73497354/ 謝謝! 1.建立執行緒線上程內進行串列埠之間的收發 void CREAT_pthread(void) { pthr
arduino學習系列——串列埠通訊
今天學習了串列埠通訊的相關內容,其實就是Serial的一系列函式: Serial.begin(); //開啟串列埠 Serial.end(); //關閉串列埠 Serial.available();//判斷串列埠緩衝器是否有資料裝入 Serial.read(); //讀取
STM32系統學習——USART(串列埠通訊)
串列埠通訊是一種裝置間非常常用的序列通行方式,其簡單便捷,大部分電子裝置都支援。 一、物理層 常用RS-232標準,主要規定了訊號的用途、通訊介面以及訊號的電平標準。 “DB9介面”之間通過串列埠訊號線建立起連線,串列埠訊號線使用”RS-232標準“傳