本篇詳細(xì)的記錄了如何使用STM32CubeMX配置STM32L431RCT6的硬件CRC外設(shè)校驗(yàn)數(shù)據(jù),并用SHT30溫濕度傳感器為例檢查是否可以正確校驗(yàn)。
1. 準(zhǔn)備工作
硬件準(zhǔn)備
開(kāi)發(fā)板
首先需要準(zhǔn)備一個(gè)開(kāi)發(fā)板,這里我準(zhǔn)備的是STM32L4的開(kāi)發(fā)板(BearPi):
軟件準(zhǔn)備
需要安裝好Keil - MDK及芯片對(duì)應(yīng)的包,以便編譯和下載生成的代碼;
準(zhǔn)備一個(gè)串口調(diào)試助手,這里我使用的是Serial Port Utility;
2.生成MDK工程
選擇芯片型號(hào)
打開(kāi)STM32CubeMX,打開(kāi)MCU選擇器:
搜索并選中芯片STM32L431RCT6:
配置時(shí)鐘源
如果選擇使用外部高速時(shí)鐘(HSE),則需要在System Core中配置RCC;
如果使用默認(rèn)內(nèi)部時(shí)鐘(HSI),這一步可以略過(guò);
這里我都使用外部時(shí)鐘:
配置串口
小熊派開(kāi)發(fā)板板載ST-Link并且虛擬了一個(gè)串口,原理圖如下:
這里我將開(kāi)關(guān)撥到AT-MCU模式,使PC的串口與USART1之間連接。
接下來(lái)開(kāi)始配置USART1:
配置CRC外設(shè)
首先激活CRC:
然后配置CRC校驗(yàn)的初始值:
這里我們以SHT30為例,其數(shù)據(jù)手冊(cè)中已給出,如圖:
據(jù)此,CRC外設(shè)的配置如下:
配置時(shí)鐘樹(shù)
STM32L4的最高主頻到80M,所以配置PLL,最后使HCLK = 80Mhz即可:
生成工程設(shè)置
代碼生成設(shè)置
最后設(shè)置生成獨(dú)立的初始化文件:
生成代碼
點(diǎn)擊GENERATE CODE即可生成MDK-V5工程:
3. 在MDK中編寫(xiě)、編譯、下載用戶代碼
重定向printf( )函數(shù)
參考: 【STM32Cube_09】重定向printf函數(shù)到串口輸出的多種方法。
測(cè)試CRC校驗(yàn)
在main.c文件中添加如下代碼:
/* USER CODE BEGIN Includes */ #include/* USER CODE END Includes */
然后修改main函數(shù):
int main(void) { /* USER CODE BEGIN 1 */ uint8_t dat[2] = {0xBE, 0xEF}; uint8_t crc = 0; /* USER CODE END 1 */ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_CRC_Init(); MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ printf("Test CRC check:n"); crc = HAL_CRC_Accumulate(&hcrc, (uint32_t*)dat, 2); printf("crc = %#xn", crc); /* USER CODE END 2 */ while (1) { } }
測(cè)試結(jié)果
測(cè)試結(jié)果如下:
至此,我們已經(jīng)學(xué)會(huì)如何使用硬件CRC校驗(yàn)SHT30的數(shù)據(jù),下一節(jié)將講述如何使用硬件SPI驅(qū)動(dòng)LCD屏幕(ST7789)。
上一篇:【STM32Cube_15】使用硬件I2C讀取溫濕度傳感器數(shù)據(jù)(SHT30)
下一篇:【STM32Cube_17】使用硬件SPI驅(qū)動(dòng)TFT-LCD(ST7789)
推薦閱讀
史海拾趣
Barry Industries Inc在創(chuàng)業(yè)初期面臨資金短缺、技術(shù)壁壘和市場(chǎng)競(jìng)爭(zhēng)激烈等諸多挑戰(zhàn)。然而,公司創(chuàng)始人憑借對(duì)電子行業(yè)的深厚理解和對(duì)市場(chǎng)需求的敏銳洞察,堅(jiān)信公司的微波半導(dǎo)體封裝技術(shù)具有巨大潛力。在創(chuàng)始團(tuán)隊(duì)的堅(jiān)持與努力下,公司逐漸克服了初期的困難,逐步在市場(chǎng)上建立了自己的地位。
隨著電子行業(yè)的快速發(fā)展,Barry Industries Inc意識(shí)到只有不斷創(chuàng)新才能在市場(chǎng)中立足。公司加大了對(duì)研發(fā)的投入,引進(jìn)了一批高素質(zhì)的研發(fā)人才,并建立了完善的研發(fā)體系。經(jīng)過(guò)多年的努力,Barry成功突破了微波半導(dǎo)體封裝技術(shù)的多項(xiàng)關(guān)鍵技術(shù),推出了多款性能卓越、具有創(chuàng)新性的產(chǎn)品。這些產(chǎn)品不僅廣泛應(yīng)用于軍事、航天、通信等領(lǐng)域,還為公司贏得了市場(chǎng)的廣泛認(rèn)可。
為了更好地服務(wù)全球客戶,Horn公司積極實(shí)施全球化戰(zhàn)略。通過(guò)在海外設(shè)立分公司和與分銷商建立緊密合作關(guān)系,Horn公司的產(chǎn)品和服務(wù)能夠迅速覆蓋到全球各地。這種全球化布局不僅提升了公司的市場(chǎng)影響力,還促進(jìn)了技術(shù)交流與合作,為公司帶來(lái)了更多的發(fā)展機(jī)遇。
作為一家技術(shù)驅(qū)動(dòng)的公司,Echelon始終注重技術(shù)創(chuàng)新和產(chǎn)品研發(fā)的投入。公司擁有一支專業(yè)的研發(fā)團(tuán)隊(duì),致力于開(kāi)發(fā)更加先進(jìn)、更加可靠的產(chǎn)品和技術(shù)。同時(shí),Echelon還積極與全球范圍內(nèi)的科研機(jī)構(gòu)、高校等合作,共同推動(dòng)技術(shù)創(chuàng)新和產(chǎn)業(yè)升級(jí)。這些努力使得Echelon在電子行業(yè)始終保持領(lǐng)先地位。
為了更好地服務(wù)全球客戶,Echelon實(shí)施了全球化戰(zhàn)略。公司不僅在美國(guó)加州設(shè)立了總部,還在歐洲和亞洲的多個(gè)國(guó)家和地區(qū)設(shè)立了辦事處,包括中國(guó)、法國(guó)、德國(guó)、意大利、香港、日本、韓國(guó)、荷蘭及英國(guó)等。這些辦事處的建立,使得Echelon能夠更好地了解當(dāng)?shù)厥袌?chǎng)需求和客戶需求,并提供更加及時(shí)和專業(yè)的服務(wù)。
1994年,Alpha Semiconductor迎來(lái)了另一個(gè)重要的里程碑——公司成功研發(fā)出了自己的電源管理產(chǎn)品。這一產(chǎn)品的推出標(biāo)志著Alpha Semiconductor在半導(dǎo)體技術(shù)領(lǐng)域的自主創(chuàng)新能力得到了顯著提升。電源管理產(chǎn)品的成功研發(fā)不僅為公司帶來(lái)了可觀的收益,也進(jìn)一步鞏固了Alpha Semiconductor在半導(dǎo)體行業(yè)中的地位。
如何對(duì)ARM9開(kāi)發(fā)學(xué)習(xí) 本人很想學(xué)習(xí)ARM9的開(kāi)發(fā),共了一千多塊錢買了ARM9的開(kāi)發(fā)板和一些教程。但還是不知從何下手??纯唇坛桃粫?huì)講Linux的移植,一會(huì)叫Linux的驅(qū)動(dòng)移值,一會(huì)兒又講loadboot。讓我感到無(wú)從入手。請(qǐng)教高手,我該如何下手?… 查看全部問(wèn)答∨ |
LCD1602,大概介紹下 1602采用標(biāo)準(zhǔn)的16腳接口,其中: 第1腳:VSS為地電源 第2腳:VDD接5V正電源 第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通 ...… 查看全部問(wèn)答∨ |
超高頻無(wú)源RFID標(biāo)簽的一些關(guān)鍵電路的設(shè)計(jì) 來(lái)活躍下氣氛 ,HOHO 本文針對(duì)超高頻無(wú)源RFID 標(biāo)簽芯片的設(shè)計(jì),給出了一些關(guān)鍵電路的設(shè)計(jì)考慮。文章從UHF RFID標(biāo)簽的基本組成結(jié)構(gòu)入手,先介紹了四種電源恢復(fù)電路結(jié)構(gòu),以及在標(biāo)準(zhǔn)CMOS 工藝下制作肖特基二極管來(lái)組成倍壓電路的解決方案。然后針對(duì) ...… 查看全部問(wèn)答∨ |
|
要在atmega16 的 A1口輸出一串?dāng)?shù) 本信息來(lái)自合作QQ群:AVR單片機(jī)學(xué)習(xí)與交流群(17727270) 群管理員在壇子里的ID:銅河 小弟請(qǐng)教一個(gè)問(wèn)題 如果要在atmega16 的 A1口輸出一串?dāng)?shù) 要怎么寫(xiě) 在icc avr中 能寫(xiě)PORTA.1=???嗎… 查看全部問(wèn)答∨ |
請(qǐng)問(wèn)如何實(shí)現(xiàn)將抓取的圖片通過(guò)GPRS模塊(mc39i)進(jìn)行無(wú)線傳輸 撥號(hào)上網(wǎng)的功能已經(jīng)實(shí)現(xiàn)了 操作系統(tǒng)是linux,最后要移植到arm-linux上去 不知怎么編程能才能實(shí)現(xiàn)兩端的文件發(fā)送和接受這種功能 哪位做過(guò)該方面的麻煩不吝賜教下,說(shuō)一下思路或流程 最好詳細(xì)點(diǎn),謝謝… 查看全部問(wèn)答∨ |
Visual studio 2005上的wince5.0嵌入式開(kāi)發(fā),高手們進(jìn)來(lái)看看啊 Visual studio 2005上的wince5.0嵌入式開(kāi)發(fā),就是在PDA上播放個(gè)語(yǔ)音文件, [System.Runtime.InteropServices.DllImport(\"winmm.dll\")] public static extern long PlaySound(String lpszNam ...… 查看全部問(wèn)答∨ |
Keil里如何用C將三字節(jié)數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)型 有三個(gè)十六進(jìn)制數(shù)據(jù)為0x03,0xDF,0xE5,我把它們放在一個(gè)ph[3]的uchar型數(shù)組里,想編程得到float型的ph值,以下是轉(zhuǎn)換原理: 0 1 &n ...… 查看全部問(wèn)答∨ |
WINCE程序修改(上海)(同時(shí)繼續(xù)招聘C++開(kāi)發(fā)人員) WINCE程序修改(上海)(同時(shí)繼續(xù)招聘C++開(kāi)發(fā)人員) 現(xiàn)在有一個(gè)WINCE的程序要進(jìn)行界面上一些修改,還有一些通訊方式的修改。 預(yù)算在3000-5000左右,時(shí)間大約在15-20天。 要求:熟悉WINCE下的開(kāi)發(fā),對(duì)Socket,UDP,TCP有比較深的了解。對(duì)MFC界面有 ...… 查看全部問(wèn)答∨ |
關(guān)于9B96的FLASH擦寫(xiě)次數(shù) 根據(jù)官方給出的最新版本勘誤表 對(duì)于C3 和C5版本的芯片 FLASH 最大擦寫(xiě)次數(shù)為100次, 所以童鞋們注意了,最好還是在SRAM里調(diào)程序,而不要燒到FLASH里去 下面是相應(yīng)的說(shuō)明截圖 … 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 神經(jīng)形態(tài)芯片可能是革新機(jī)器人實(shí)時(shí)電機(jī)控制的未來(lái)
- 從三個(gè)方面理解ARM嵌入式系統(tǒng)
- 自動(dòng)報(bào)警 基于MCU的家庭防盜報(bào)警系統(tǒng)的設(shè)計(jì)
- 存儲(chǔ)控制器及其訪問(wèn)外設(shè)的原理
- 基于51系列單片機(jī)的智能照明控制系統(tǒng)設(shè)計(jì)方案
- 基于STM32的四旋翼飛行器控制系統(tǒng)
- 單片機(jī)應(yīng)用編程技巧解析
- 基于89C52的教室智能節(jié)能照明系統(tǒng)設(shè)計(jì)
- 一種新型的雨量光照傳感器的設(shè)計(jì)
- 英飛凌推出XENSIV? 3D磁傳感器,為汽車、工業(yè)和消費(fèi)類應(yīng)用帶來(lái)高精度位置檢測(cè)功能
- RKDC2025 丨米爾亮相第九屆瑞芯微開(kāi)發(fā)者大會(huì),共繪工業(yè)數(shù)智新圖景
- 「芯生態(tài)」杰發(fā)科技AC7870攜手IAR開(kāi)發(fā)工具鏈,助推汽車電子全棧全域智能化落地
- 緊湊型PTS647輕觸開(kāi)關(guān)系列增加了降噪和防塵功能
- 電動(dòng)汽車換電的好處
- 高壓BMS如何增強(qiáng)安全性并延長(zhǎng)電池的使用壽命
- 消息稱英偉達(dá)-聯(lián)發(fā)科 AI PC 芯片延遲除設(shè)計(jì)修改亦與微軟系統(tǒng)進(jìn)度緩慢等有關(guān)
- 消息稱長(zhǎng)江存儲(chǔ) 2026 年底 NAND 產(chǎn)能市占有望達(dá) 15%
- 用于電動(dòng)汽車供電網(wǎng)絡(luò)(PDN)的高壓母線轉(zhuǎn)換器48V電源模塊
- Wolfspeed與恩智浦?jǐn)y手推出經(jīng)過(guò)全面測(cè)試的800V牽引逆變器參考設(shè)計(jì)
- 下載、評(píng)論贏雙重好禮|PI 邀您跟littleshrimp一起拆解小米最新二合一充電寶
- 世健30周年,寄語(yǔ)世健享好禮!
- 下載設(shè)計(jì)資源,贏取“會(huì)說(shuō)話”的啤酒托!
- 下載泰克電源設(shè)計(jì)測(cè)試方案+圖文攻略 幫助工程師解決電源效率問(wèn)題。有好禮
- 逛村田在線云展廳,看干貨,闖關(guān)贏好禮!
- Dig八月 EEWORLD為你做專題!
- 報(bào)名觀看TI 嵌入式處理器主題月直播,漲姿勢(shì)還能拿全勤獎(jiǎng)!
- 下載贏禮 | 雅特生 PMBus 接口非隔離數(shù)字 DC-DC 轉(zhuǎn)換器
- 單片機(jī)方案開(kāi)發(fā)注意事項(xiàng)及如何挑選PIC單片機(jī)進(jìn)行學(xué)習(xí)
- 基于PIC單片機(jī)的氣體報(bào)警器
- 使用PIC單片機(jī)開(kāi)發(fā)的簡(jiǎn)易數(shù)字電壓表
- 使用PIC單片機(jī)開(kāi)發(fā)的被動(dòng)紅外傳感器模塊的報(bào)警器
- 使用PIC單片機(jī)制的簡(jiǎn)單拍手開(kāi)關(guān)
- 大逆襲:三星芯片收入徹底超英特爾成新霸主
- 現(xiàn)代汽車:氫燃料電池技術(shù)已經(jīng)成熟
- 2017手機(jī)ODM廠商排名:聞泰華勤遙遙領(lǐng)先,OV正嘗試放單給ODM
- 旺宏2017NOR市占達(dá)30%,稱霸全球
- 又一家物流有機(jī)器人了 載重500公斤可用平板操作
- 一個(gè) 200W 開(kāi)關(guān)電源的功率級(jí)設(shè)計(jì)
- 拆解摩托羅拉Q系列手機(jī) 揭密低價(jià)智能手機(jī)
- 教你如何看器件手冊(cè)的DC參數(shù)
- vs2005 c++樹(shù)狀菜單編程?
- 這是一個(gè)峰值檢測(cè)電路,仿真結(jié)果不正確
- 移動(dòng) 5G 設(shè)備天線調(diào)諧揭秘
- 開(kāi)關(guān)AC-DC轉(zhuǎn)換是怎么回事
- 關(guān)于SI24R1與NRF24L01P的PIN對(duì)PIN兼容性
- 恒流恒壓的鋰電池充電控制板
- 怎樣簡(jiǎn)單做個(gè)模擬指針uA計(jì)