亚洲五月天一区二区三区-日本午夜福利视频在线-日本欧美一区二区不卡免费-日韩深夜视频在线观看

晶華微帶8位MCU和高精度ADC的SoC產(chǎn)品--SD82F46X開發(fā)指南(一)

來源:晶華微 #晶華微#
1940

前言

本開發(fā)指南將手把手幫工程師們了解芯片的各個模塊,對照手冊熟悉各個模塊的寄存器配置。同時,分享一些常見的錯誤用法,助您規(guī)避誤區(qū),從而提高開發(fā)效率。

芯片介紹

Part.1SD82F46X芯片基于8051 CPU實(shí)現(xiàn),為8位MCU系統(tǒng),系統(tǒng)主頻最高為32MHz。芯片內(nèi)含四個運(yùn)放和一個24bits sigma-deltaADC、兩個12bits DAC、正弦波產(chǎn)生和整流電路等模塊,此些模塊專門為HCT功能電路設(shè)計,主要用在血糖儀、血壓計及其有類似應(yīng)用需求的領(lǐng)域。

功能框圖

圖1 SD82F46X功能框圖

編程介紹

示例程序是實(shí)現(xiàn)SD82F46X芯片串口通信功能,包含了RCC時鐘配置、電源模塊配置、UART初始化、中斷系統(tǒng)配置。

編程其主體思路:先對芯片進(jìn)行系統(tǒng)初始化,再對需要使用的功能進(jìn)行配置,然后進(jìn)入主循環(huán)實(shí)現(xiàn)串口通信功能。

函數(shù)分析

main函數(shù)的整體框架,如圖2:

圖2 main函數(shù)

如圖2所示,main函數(shù)首先運(yùn)行的是系統(tǒng)初始化函數(shù)Initialization(),初始化完成后執(zhí)行主程序,示例中主程序較簡單,負(fù)責(zé)發(fā)送串口接收來的數(shù)據(jù)。

圖3 RCC初始化函數(shù)

圖4 電源初始化函數(shù)

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

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

圖6 VIC初始化函數(shù)

圖6為VIC初始化函數(shù),開啟UART0對應(yīng)的中斷向量號、設(shè)置中斷優(yōu)先級并使能。最后開啟內(nèi)核總中斷。

圖7 UART0中斷服務(wù)函數(shù)圖7為UART0中斷服務(wù)函數(shù),因?yàn)閁ART初始化中開啟了接收中斷功能,所以只要RXD接收到了數(shù)據(jù),程序就會進(jìn)入中斷服務(wù)函數(shù)進(jìn)行接收處理。Main函數(shù)主循環(huán)中將接收到的數(shù)據(jù)發(fā)送出來,注意這里是通過HEX格式進(jìn)行發(fā)送。發(fā)送完一筆后,等待下一次接收,循環(huán)發(fā)送。

總結(jié)

本文介紹了SD82F46X UART功能模塊的使用,了解其編程邏輯和工作原理,其他功能將會在后續(xù)章節(jié)逐一分享。

責(zé)編: 愛集微
來源:晶華微 #晶華微#
THE END
關(guān)閉
加載

PDF 加載中...