STM32(Cortex-M3)中有兩個(gè)優(yōu)先級(jí)的概念——搶占式優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí),有人把響應(yīng)優(yōu)先級(jí)稱作'亞優(yōu)先級(jí)'或'副優(yōu)先級(jí)',每個(gè)中斷源都需要被指定這兩種優(yōu)先級(jí)。具有高搶占式優(yōu)先級(jí)的中斷可以在具有低搶
看了幾篇博客之后,對(duì)這個(gè)定時(shí)器也有了一些認(rèn)識(shí),其實(shí)和51差不多,就是配置定時(shí)器的時(shí)候多了幾個(gè)步驟而已。其中很好的一片是:http://blog.sina.com.cn/s/blog_49cb42490100s6ud.htmlSTM32中一共有11個(gè)定時(shí)器,其中2
復(fù)位:復(fù)位所有外設(shè) RCC->APB1RSTR = 0x0000 0000RCC->APB2RSTR = 0x0000 0000關(guān)閉所有外設(shè)時(shí)鐘 RCC->AHBENR = 0x0000 0014RCC->APB1ENR = 0x0000 0000RCC->APB2ENR = 0x0000 0000RCC->CR:打開 HSI,關(guān)閉 PLLON,HS
首先 時(shí)鐘是STM32單片機(jī)的脈搏,是單片機(jī)的驅(qū)動(dòng)源。使用任何一個(gè)外設(shè)都必須打開相應(yīng)的時(shí)鐘。這樣的好處就是,如果不使用一個(gè)外設(shè)的時(shí)候,就把它的時(shí)鐘關(guān)掉,從而可以降低系統(tǒng)的功耗,達(dá)到節(jié)能,實(shí)現(xiàn)低功耗的效果。1.
本文主要簡單介紹CAN總線的相關(guān)概念,以及通信協(xié)議等知識(shí),和使用STM32自帶的bxCAN外設(shè)進(jìn)行CAN總線編程實(shí)驗(yàn),以及編程心得。1. CAN總線簡要介紹概念:CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡稱,是由
//USARTvoid UART2_Configuration(void){ GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; USART_ClockInitTypeDef USART_ClockInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1P
/*******************************************************************************固件函數(shù)庫通過檢查庫函書的輸入來實(shí)現(xiàn)運(yùn)行時(shí)間錯(cuò)誤偵測(cè)。通過使用宏assert_param來實(shí)現(xiàn)運(yùn)行時(shí)間檢測(cè)。所有要求輸入?yún)?shù)的函數(shù)都
//原帖http://bbs.elecfans.com/forum.php?mod=viewthread&tid=445463//在學(xué)習(xí)過程中發(fā)現(xiàn)幾處編譯錯(cuò)誤,并改正;//主要貼出定義、和中斷函數(shù)部分;uint8_t usart_rx_buf[5][40]; //接收緩沖,最大40個(gè)字節(jié)uint8_t us
這次要講講如何用USB升級(jí)單片機(jī)代碼。以前曾經(jīng)做過串口升級(jí),網(wǎng)絡(luò)升級(jí),升級(jí)的基本原理都類似,只不過升級(jí)的工具不同罷了,串口升級(jí)當(dāng)然是用串口了,網(wǎng)絡(luò)升級(jí)用的是TCP/IP,USB升級(jí)當(dāng)然用的是USB了。下面就來講講USB
描述:用ADC連續(xù)采集11路模擬信號(hào),并由DMA傳輸?shù)絻?nèi)存。ADC配置為掃描并且連續(xù)轉(zhuǎn)換模式,ADC的時(shí)鐘配置為12MHZ。在每次轉(zhuǎn)換結(jié)束后,由DMA循環(huán)將轉(zhuǎn)換的數(shù)據(jù)傳輸?shù)絻?nèi)存中。ADC可以連續(xù)采集N次求平均值。最后通過串口傳
說明:GPIOA,GPIO_Pin_0對(duì)應(yīng)key1;GPIOA,GPIO_Pin_1對(duì)應(yīng)key2;GPIOA,GPIO_Pin_2對(duì)應(yīng)LED1;GPIOA,GPIO_Pin_3對(duì)應(yīng)LED2#include"stm32f10x.h"#include"stm32f10x_rcc.h"#include"stm32f10x_gpio.h"#include"system_stm3
STM32的RTC晶振,我百度全網(wǎng),總結(jié)如下軟件: 在以前很多的程序里 在rtc中斷里 都沒有 RTC_WaitForLastTask();這個(gè)語句。 加上即可硬件: 常規(guī)配置 6p晶振加兩個(gè)10p電容 不要并聯(lián)電阻并聯(lián)了反而不起振==============
最近在調(diào)試編碼器,用的貌似是官方給出的例程,但是在做pid的時(shí)候遇到困難,不知道該如何在此基礎(chǔ)上實(shí)現(xiàn)pid,有大神指教嗎?#define ENCODER_TIMERTIM3// Encoder unit connected to TIM3#define ENCODER_TIM_PERIOD
main.c配置:/**說明:*PA0:KEY1;PA1:KEY2;*PA2:LED1;PA3:LED2;*PA9:USART1_TX;PA10:USART1_RX*/#include"stm32f10x.h"#include"stm32f10x_rcc.h"#include"stm32f10x_gpio.h"#include"stm32f10x_usart.h"#include"st
目前stm32已經(jīng)非常流行了,那么本文討論下stm32低功耗模式,不多說先上手冊(cè)內(nèi)容!這是英文文檔 不好看懂是吧,下面看中文文檔!我對(duì)比了 STM32F0 和 STM32F1 兩者進(jìn)入低功耗是一樣的,STM32F4的類似目前沒有研究。低功
通過ADC注入通道的使用,可以實(shí)時(shí)獲取4個(gè)GPIO輸入的AD采樣值,下面看具體的代碼。芯片:STM32F205VCT6STEP1:初始化GPIOvoidGPIO_Configuration(void){//GPIO-PC0PC1PC2PC3-ADC3GPIO_InitStructure.GPIO_Pin=GPIO_Pi
貼了兩塊樣板,燒寫同樣的固件。其中一塊工作正常,但是另外一塊出現(xiàn)了很奇怪的現(xiàn)象:在線調(diào)試正常;每次燒寫完后工作正常;重新上電有時(shí)候工作正常,有時(shí)候工作不正常;工作不正常時(shí),按下復(fù)位按鍵,恢復(fù)正常。工作
本次工程是要同時(shí)實(shí)現(xiàn)SD卡讀卡器和NAND Flash模擬U盤的功能。結(jié)合之前的兩個(gè)工程,稍稍修改下就可以了。既然要實(shí)現(xiàn)兩個(gè)盤,當(dāng)然在usb_prop.c中的Max_Lun變量賦值為1,在USB_User組中同時(shí)添加fsmc_nand.c和sdio_sdcar
系統(tǒng)時(shí)鐘和分頻首先來手冊(cè)里的一段話。三種不同的時(shí)鐘源可被用來驅(qū)動(dòng)系統(tǒng)時(shí)鐘(SYSCLK)HSI振蕩器時(shí)鐘HSE振蕩器時(shí)鐘PLL時(shí)鐘一般用的是PLL時(shí)鐘,后面有證據(jù)。我們可以通過庫函數(shù)獲取各時(shí)鐘值void RCC_GetClocksFreq(RCC
USART作為一種標(biāo)準(zhǔn)接口在應(yīng)用中十分常見。1、STM32固件庫使用外圍設(shè)備的主要思路在STM32中,外圍設(shè)備的配置思路比較固定。首先是使能相關(guān)的時(shí)鐘,一方面是設(shè)備本身的時(shí)鐘,如果設(shè)備是通過IO口輸入輸出則還需要使能對(duì)