
Q:什么是SYSTick定時(shí)器?SysTick 是一個(gè)24 位的倒計(jì)數(shù)定時(shí)器,當(dāng)計(jì)到0 時(shí),將從RELOAD 寄存器中自動(dòng)重裝載定時(shí)初值。只要不把它在SysTick 控制及狀態(tài)寄存器中的使能位清除,就永不停息。Q:為什么要設(shè)置SysTick定時(shí)
先說(shuō)一下軟硬件:硬件:主控stm32c8t6、485芯片為隔離型芯片ADM2483,調(diào)試工具是usb轉(zhuǎn)485接到PC端。軟件:采用庫(kù)函數(shù)開(kāi)發(fā),開(kāi)發(fā)工具為IAR 7.10,485接的是stm32的串口1(收發(fā)都是用中斷方式),半雙工模式, 協(xié)議是M
STM32 內(nèi)部看門(mén)狗的設(shè)置STM32 有兩個(gè)看門(mén)狗,這里介紹的是IWDG內(nèi)部看門(mén)狗。時(shí)鐘來(lái)源: 內(nèi)部的40KHz的時(shí)鐘,與系統(tǒng)時(shí)鐘無(wú)關(guān)!如下所示:這里的fsoc才是IWDG真正的時(shí)鐘!(IWDG_Prescaler_XX指的是XX分頻)。IWDG的重載
一、串口使用:原則:盡量中斷中不要有延時(shí)(比如自定義delay 和自定義printf串口打印,明顯找事啊這么慢能不發(fā)生溢出error嘛),接收和發(fā)送盡量分開(kāi)處理1.串口發(fā)送數(shù)據(jù)丟失:1)通常是因?yàn)榘l(fā)送之前未檢測(cè)TC狀態(tài)位之前
今天說(shuō)一下STM32單片機(jī)的接收不定長(zhǎng)度字節(jié)數(shù)據(jù)的方法。由于STM32單片機(jī)帶IDLE中斷,所以利用這個(gè)中斷,可以接收不定長(zhǎng)字節(jié)的數(shù)據(jù),由于STM32屬于ARM單片機(jī),所以這篇文章的方法也適合其他的ARM單片機(jī)。IDLE中斷什么時(shí)
前沿:最近在做STM32的USB Bootlader/IAP功能,也就是通過(guò)USB實(shí)現(xiàn)固件升級(jí),本文介紹下實(shí)現(xiàn)的基本思路,希望對(duì)實(shí)現(xiàn)IAP的同學(xué)一個(gè)參考,改方法已經(jīng)在產(chǎn)品中得到實(shí)際應(yīng)用并驗(yàn)證是比較合理,穩(wěn)定可靠的。程序空間劃分:
在STM32內(nèi)部,F(xiàn)SMC的一端通過(guò)內(nèi)部高速總線(xiàn)AHB連接到內(nèi)核Cortex-M3,另一端則是面向擴(kuò)展存儲(chǔ)器的外部總線(xiàn)。
首先先介紹一下STM32的外部中斷,當(dāng)然這也不是我總結(jié)的,這是在那么多博客里找到的一篇個(gè)人認(rèn)為總結(jié)不錯(cuò)的學(xué)習(xí)文檔。先學(xué)到手再說(shuō)吧!STM32中,每一個(gè)GPIO都可以觸發(fā)一個(gè)外部中斷,但是,GPIO的中斷是以組位一個(gè)單位
STM32的基本系統(tǒng)主要涉及下面幾個(gè)部分: 一、電源 1)、無(wú)論是否使用模擬部分和AD部分,MCU外圍出去VCC和GND,VDDA、VSSA、Vref(如果封裝有該引腳)都必需要連接,不可懸空; 2)、對(duì)于每組對(duì)應(yīng)的VDD和GND
一、上篇回顧上一篇文章中,我們完成了兩個(gè)任務(wù)使用PendSV實(shí)現(xiàn)了互相切換的功能,下面我們接著其思路往下做。這次我們完成OS基本框架,即實(shí)現(xiàn)一個(gè)非搶占式(已經(jīng)調(diào)度的進(jìn)程執(zhí)行完成,然后根據(jù)優(yōu)先級(jí)調(diào)度等待的進(jìn)程)的
一、內(nèi)存管理簡(jiǎn)介內(nèi)存管理,是指軟件運(yùn)行時(shí)對(duì)計(jì)算機(jī)內(nèi)存資源的分配和使用的技術(shù)。其最主要的目的是如何高效,快速的分配,并且在適當(dāng)?shù)臅r(shí)候釋放和回收內(nèi)存資源。內(nèi)存管理的實(shí)現(xiàn)方法有很多種,他們其實(shí)最終都是要實(shí)現(xiàn)
問(wèn)題描述ZET6跑了ucosII系統(tǒng),在運(yùn)行過(guò)程中有時(shí)會(huì)出現(xiàn)死機(jī)的情況,經(jīng)過(guò)硬件調(diào)試發(fā)現(xiàn),是進(jìn)入延時(shí)的時(shí)候?qū)е碌倪@個(gè)問(wèn)題,延時(shí)函數(shù)是沒(méi)有問(wèn)題的,而且這個(gè)問(wèn)題是偶爾出現(xiàn)問(wèn)題排查死機(jī)之后指針指向了硬件錯(cuò)誤中斷,初步
簡(jiǎn)介寫(xiě)這篇教程主要是和大家分享使用STM32的基本方法,也是給自己學(xué)習(xí)過(guò)程的總結(jié)、記錄和備忘,避免重復(fù)學(xué)習(xí)之前明白但又忘記的知識(shí)和操作。我現(xiàn)在也是剛開(kāi)始接觸學(xué)習(xí)STM32,我是在STM32的固件庫(kù)V3基礎(chǔ)上進(jìn)行學(xué)習(xí)。在
一、觸摸屏控制器簡(jiǎn)介1、TSC2046概貌2、TSC2046引腳描述3、TSC2046應(yīng)用電路4、常見(jiàn)接線(xiàn)方法YU=Y-YD=Y+XL=X-XR=X+二、TSC2046編程注意事項(xiàng) TSC2046的PENIRQ腳在觸摸屏被按下的時(shí)候輸出低電平,沒(méi)有按下的時(shí)候輸出高電
一、為什么要用DMA?DMA全稱(chēng):Direct MemoryAccess 就是可以直接內(nèi)存存??;正是它可以直接操作內(nèi)存所以具備以下優(yōu)點(diǎn):而無(wú)需經(jīng)過(guò)CPU去操作內(nèi)存的存取,這樣可以解放CPU出來(lái)干其他的事情;因?yàn)樗梢赃M(jìn)行存儲(chǔ)器時(shí)間的數(shù)
前言:目前開(kāi)發(fā)一個(gè)測(cè)距儀數(shù)據(jù)匯總顯示儀表,從17年2月開(kāi)始學(xué)習(xí)硬件,本家是軟件,1個(gè)月畫(huà)原理圖,半個(gè)月畫(huà)PCB板,中間花了2個(gè)月時(shí)間用JAVA開(kāi)發(fā)中級(jí)版藍(lán)牙APP,板子焊好后開(kāi)始學(xué)習(xí)STM32各個(gè)功能,點(diǎn)亮LED燈,花了半個(gè)
在上一節(jié)串口通訊中使用了查詢(xún)方式, 在少量數(shù)據(jù)傳輸應(yīng)用中, 這種方法基本可行, 但如果通迅數(shù)據(jù)量比較大的話(huà)會(huì)對(duì)系統(tǒng)實(shí)時(shí)性造成很大的影響, 所以在實(shí)際工程運(yùn)用中, 查詢(xún)的方法并不多見(jiàn).一個(gè)較好的方法就是利用空間換時(shí)
有關(guān)推挽輸出、開(kāi)漏輸出、復(fù)用開(kāi)漏輸出、復(fù)用推挽輸出以及上拉輸入、下拉輸入、浮空輸入、模擬輸入?yún)^(qū)別及上拉輸入、下拉輸入、浮空輸入、模擬輸入的區(qū)別最近在看數(shù)據(jù)手冊(cè)的時(shí)候,發(fā)現(xiàn)在Cortex-M3里,對(duì)于GPIO的配置種
/*EnableCRCclock*/RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);//STM32?CRCu32CRC32(u8*pBuf,u16nSize){u32index=0;CRC_ResetDR();//復(fù)位CRCfor(index=0;indexDR=(u32)pBuf[index];}return(CRC->DR);}[cshar
實(shí)驗(yàn)?zāi)康模鹤尫澍Q器每隔一秒響一次;實(shí)驗(yàn)步驟:實(shí)驗(yàn)程序:/************************led.c***********************/#include"stm32f4xx.h"//在SYSTEM目錄下可以找到#include"sys.h"voidLED_Init(void){RCC->AHB1ENR|