UART
- 步驟
- 匯入模板
- 呼叫 API
- 添加 uart 相關檔案
步驟
匯入模板
復制基礎模板(可選用NONOS_SDK_2.2.0_Template.zip),命名為 UART

匯入 UART 工程

呼叫 API
ESP8266_SDK_API參考指南 中文,這里只演示以下兩個API:
- system_get_sdk_version(查詢 SDK 版本資訊)
- os_printf(格式化輸出,列印字串,)
一層一層打開 user_main.c 檔案

根據參考檔案中

查看 user_main.c 是否添加了頭檔案

添加格式化輸出,列印字串的代碼

撰寫完成之后保存檔案!
然后,先清除之前的編譯剩余,再編譯工程

編譯成功

打開燒錄軟體,選擇需要燒錄的檔案,配置相關選項,最后開始燒錄

開發工具匯總下載鏈接,選擇下載安信可串口除錯助手

運行 AiThinker Serial Tool V1.2.3.exe

選擇合適的串口和波特率
使用晶振的頻率和該段列印波特率的關系
| 使用晶振的頻率 | 該段列印波特率 |
|---|---|
| 40MHz | 115200 |
| 26MHz | 74880(ESP-12F) |

打開串口,并按下硬體的復位鍵 RESET

觀察到接收字串成功

添加 uart 相關檔案
將 uart.c 檔案 復制在 app/driver 檔案夾中

將 uart.h 和 uart_register.h 檔案復制在 app/include/drive 檔案夾中

現在,IDE中的工程檔案還沒有變化

選中工程,滑鼠右鍵單擊,子選單中選擇 Refresh 選項,更新

更新之后,比對可以看到,我們添加的檔案已經出現在了IDE中了

添加 uart.c 的頭檔案

在uart.h檔案中,定義了
- void uart_init(UartBautRate uart0_br, UartBautRate uart1_br);【初始化函式,設定UART_0、UART_1的波特率】
- void uart0_sendStr(const char *str);【UART_0輸出串口資料】
- … …

呼叫以上兩個函式,初始化uart, 設定波特率為9600

編譯成功!

打開燒錄軟體,設定各種資訊,開始燒錄

設定波特率為74880, 打開串口,按下 RESET 鍵
后面出現亂碼是因為,此時初始化完成,初始化中設定的波特率為9600,與串口除錯助手設定的74880不相等,出現亂摸

設定波特率為74880, 打開串口,按下 RESET 鍵,列印成功!
前面出現亂碼是因為,此時ESP8266復位后,內核在初始化時,會默認從UART_0列印一些初始化資訊

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299751.html
標籤:其他
