
1、串行通信2、常見(jiàn)的4種串行通信標(biāo)準(zhǔn)3、對(duì)74LS164芯片的介紹74LS164:串行轉(zhuǎn)并行芯片,內(nèi)部是1個(gè)8位的移位寄存器組成,由8個(gè)D觸發(fā)器組成缺點(diǎn)是:不帶鎖存寄存器,移位寄存器移位的過(guò)程會(huì)表現(xiàn)在164的輸出引腳上,容易
以前一直使用STM32的標(biāo)準(zhǔn)庫(kù),需要一步步地將代碼加進(jìn)去,將編譯選項(xiàng)設(shè)置好,然后再編譯整個(gè)工程。這個(gè)編譯過(guò)程是一個(gè)相當(dāng)慢的過(guò)程!完全編譯大約需要一支煙的時(shí)間。每次建立工程都這么編譯,是一個(gè)相當(dāng)浪費(fèi)時(shí)間和香煙
串口調(diào)試在項(xiàng)目中被使用越來(lái)越多,串口資源的緊缺也變的尤為突出。很多本本人群,更是深有體會(huì),不準(zhǔn)備一個(gè)USB轉(zhuǎn)串口工具就沒(méi)辦法進(jìn)行開(kāi)發(fā)。本章節(jié)來(lái)簡(jiǎn)單概述STM32低端芯片上的USB虛擬串口的移植。在官方DEMO中已經(jīng)提
STM32自學(xué)-初學(xué)者的前車之鑒,希望可以幫到后面的同學(xué)。因?yàn)橐粋€(gè)小小的設(shè)置問(wèn)題—C/C++沒(méi)設(shè)置好而編譯出錯(cuò),導(dǎo)致一個(gè)下午都在忙著解決,這或許就是自學(xué)者的煩惱吧,不能做到面面俱到,導(dǎo)致時(shí)間白白浪費(fèi)在一些不該發(fā)生
最近幾天要用到stm32對(duì)外部輸入脈沖進(jìn)行計(jì)數(shù),很自然想到定時(shí)器,可是手上資料沒(méi)有講解stm32定時(shí)器如何用作外部計(jì)數(shù)器的,在網(wǎng)上找例程,也沒(méi)找到幾個(gè)正確的,自己硬著頭皮仔細(xì)研究參考手冊(cè),終于知道如何配置了,并
在Cortex-M3里,對(duì)于GPIO的配置種類有8種:(1)GPIO_Mode_AIN模擬輸入(2)GPIO_Mode_IN_FLOATING浮空輸入(3)GPIO_Mode_IPD下拉輸入(4)GPIO_Mode_IPU上拉輸入(5)GPIO_Mode_Out_OD開(kāi)漏輸出(6)GPIO_Mode_Out
當(dāng)前的嵌入式應(yīng)用程序開(kāi)發(fā)過(guò)程里,并且C語(yǔ)言成為了絕大部分場(chǎng)合的最佳選擇。如此一來(lái)main函數(shù)似乎成為了理所當(dāng)然的起點(diǎn)——因?yàn)镃程序往往從main函數(shù)開(kāi)始執(zhí)行。但一個(gè)經(jīng)常會(huì)被忽略的問(wèn)題是:微控制器(單片機(jī))上電后
環(huán)境:iar arm 5.3stm32f103vbt6使用PA.8 外部輸入10Mhz的方波??蓮膕ystick中斷得到數(shù)據(jù)4.4×5000(預(yù)分頻值)×1000(tick中斷時(shí)間)=20MHz屬于雙邊沿檢測(cè),一個(gè)PA.8個(gè)脈沖有2個(gè)邊沿,所以時(shí)鐘加倍。由于使用了TI1F
ST公司默認(rèn)是將系統(tǒng)時(shí)鐘配置到72MHZ。以下的七個(gè)步奏是設(shè)置系統(tǒng)時(shí)鐘的函數(shù),該函數(shù)截取自庫(kù)文件system_stm32f10x.c。將互聯(lián)型相關(guān)的代碼刪掉便于分析,并標(biāo)上了序號(hào),總共七個(gè)步奏,這個(gè)順序也是系統(tǒng)時(shí)鐘配置的的步奏
一、獨(dú)立看門狗STM32的獨(dú)立看門狗由內(nèi)部專門的40Khz低速時(shí)鐘驅(qū)動(dòng),即使主時(shí)鐘發(fā)生故障,它也仍然有效??撮T狗的原理:?jiǎn)纹瑱C(jī)系統(tǒng)在外界的干擾下會(huì)出現(xiàn)程序跑飛的現(xiàn)象導(dǎo)致出現(xiàn)死循環(huán),看門狗電路就是為了避免這種情況
usb_core.c這個(gè)c文件是個(gè)龐大的文件,主要是定義了usb2.0的標(biāo)注協(xié)議處理函數(shù)。下面是這個(gè)文件的所有函數(shù):/******************************************************************************** Function Name : Sta
使用STM32官方SDIO 的SDCARD驅(qū)動(dòng)的時(shí)候,以前單任務(wù)的時(shí)候沒(méi)有出現(xiàn)這種錯(cuò)誤,現(xiàn)在使用多任務(wù)的時(shí)候經(jīng)常出現(xiàn),表現(xiàn)為讀取文件的時(shí)候沒(méi)有問(wèn)題,經(jīng)常點(diǎn)擊屏幕的時(shí)候就會(huì)出問(wèn)題,最后通過(guò)仿真找到出錯(cuò)點(diǎn)就是讀取數(shù)據(jù)向SD卡發(fā)送
1.Fatal Error[Pe035]: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"處理方法 :在options-C/C++ compiler-preprocessor 里的 Defined sy
本例程通過(guò)PC機(jī)的串口調(diào)試助手將數(shù)據(jù)發(fā)送至STM32,接收數(shù)據(jù)后將所接收的數(shù)據(jù)又發(fā)送至PC機(jī),具體下面詳談。。。實(shí)例一:void USART1_IRQHandler(u8 GetData){u8 BackData;if(USART_GetITStatus(USART1, USART_IT_RXNE
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)部看門狗的設(shè)置STM32 有兩個(gè)看門狗,這里介紹的是IWDG內(nèi)部看門狗。時(shí)鐘來(lái)源: 內(nèi)部的40KHz的時(shí)鐘,與系統(tǒng)時(shí)鐘無(wú)關(guān)!如下所示:這里的fsoc才是IWDG真正的時(shí)鐘?。↖WDG_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)定可靠的。程序空間劃分: