前 言
本開發指南將手把手幫工程師們了解芯片的各個模塊,對照手冊熟悉各個模塊的寄存器配置。同時,分享一些常見的錯誤用法,助您規避誤區,從而提高開發效率。
Part.1芯片介紹
SD82F46X芯片基于8051 CPU實現,為8位MCU系統,系統主頻最高為32MHz。芯片內含四個運放和一個24bits sigma-deltaADC、兩個12bits DAC、正弦波產生和整流電路等模塊,此些模塊專門為HCT功能電路設計,主要用在血糖儀、血壓計及其有類似應用需求的領域。
Part.2功能框圖

圖1 SD82F46X功能框圖
Part.3編程介紹
示例程序是實現SD82F46X芯片串口通信功能,包含了RCC時鐘配置、電源模塊配置、UART初始化、中斷系統配置。
編程其主體思路:先對芯片進行系統初始化,再對需要使用的功能進行配置,然后進入主循環實現串口通信功能。
Part.4函數分析
main函數的整體框架,如圖2:

圖2 main函數
如圖2所示,main函數首先運行的是系統初始化函數Initialization(),初始化完成后執行主程序,示例中主程序較簡單,負責發送串口接收來的數據。

圖3 RCC初始化函數

圖4 電源初始化函數
內部RCC時鐘IHRC和ILRC出廠前已校準,用戶無需再次手動改寫校準值。圖3 RCC初始化函數設置了IHRC和ILRC使能,開啟內部時鐘,實際內部時鐘已默認開啟,然后初始化了系統時鐘,系統時鐘源選擇IHRC,分頻系數8分頻。圖4對內部數字電源進行了初始化,設置成1.5V并使能。

圖5 UART初始化函數
圖5為UART初始化函數,定義結構體變量UART_InitStruct,配置開啟外設時鐘,否則無法進行寄存器設置。使用UART功能,必須要進行IO口復用配置,將復用功能配置成UART,并且TXD和RXD要關閉IO上拉功能。后面進行UART相關參數配置,設置波特率UART_BaudRate=115200、校驗位UART_Parity、UART模式為接收發送,然后調用UART_Init(UART_TypeDef*UARTx,UART_InitTypeDef* UART_InitStruct)庫函數,將前面的初始化值寫入相應寄存器。最后使能UART0模塊和開啟UART0接收中斷。

圖6 VIC初始化函數
圖6為VIC初始化函數,開啟UART0對應的中斷向量號、設置中斷優先級并使能。最后開啟內核總中斷。

圖7 UART0中斷服務函數
圖7為UART0中斷服務函數,因為UART初始化中開啟了接收中斷功能,所以只要RXD接收到了數據,程序就會進入中斷服務函數進行接收處理。
Main函數主循環中將接收到的數據發送出來,注意這里是通過HEX格式進行發送。發送完一筆后,等待下一次接收,循環發送。
Part.5總結
本文介紹了SD82F46X UART功能模塊的使用,了解其編程邏輯和工作原理,其他功能將會在后續章節逐一分享。
-
mcu
+關注
關注
147文章
18924瀏覽量
398018 -
寄存器
+關注
關注
31文章
5608瀏覽量
129966 -
uart
+關注
關注
22文章
1314瀏覽量
106634 -
函數
+關注
關注
3文章
4417瀏覽量
67499
原文標題:帶8位MCU和高精度ADC的SoC產品--SD82F46X開發指南(一)
文章出處:【微信號:杭州晶華微,微信公眾號:杭州晶華微】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
SIMULINK功能模塊的處理
SD Host功能模塊的硬件介紹及測評步驟
SIMULINK功能模塊的處理
SIMULINK線的處理/SIMULINK自定義功能模塊
PDA功能模塊的設計
QuartusⅡ中宏功能模塊的使用
MM32F013x——UART 單線半雙工通信
MELSEC iQ F FX5用戶手冊(定位篇智能功能模塊)
SD82F46X UART功能模塊的使用
評論