閱讀nvic:系統(tǒng)中斷管理。我的理解——管理系統(tǒng)內(nèi)部的中斷,負(fù)責(zé)打開和關(guān)閉中斷。基礎(chǔ)應(yīng)用1,中斷的初始化函數(shù),包括設(shè)置中斷向量表位置,和開啟所需的中斷兩部分。所有程序中必須的。用法: void NVIC_Configuratio
usb_init.c這個(gè)文件是主要是初始化。函數(shù)很簡(jiǎn)單:/******************************************************************************** Function Name : USB_Init* Description : USB系統(tǒng)初始化* Input : None
1、打開STM32 CAN系統(tǒng)工作時(shí)鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);2、開放系統(tǒng)中斷,根據(jù)實(shí)際情況選擇NVIC_InitStr
首先是一些必要的聲明#include#include"pwm.h"u32Sys_Clk=1000000;u16pwm1_2_Freqz;//pwm波1,2輸出口的頻率u16pwm3_4_Freqz;//pwm波3,4輸出口的頻率u16TIM2_PERIOD;//定時(shí)器跳轉(zhuǎn)周期數(shù)u16TIM4_PERIOD;u16CCR_VAL1;//
#include "sysdef.h"#define MAX_MAIL_NUM 3//CAN總線調(diào)試:0=運(yùn)行 1=自環(huán)調(diào)試#define CAN_DEBUG 0//CAN總線波特率:0=250kbps,1=500kbps,2=1Mbps#define CAN1_BPS 0unsigned char can1_addr = 0;unsigned short C
首先我們需要了解一個(gè)內(nèi)存映射:stm32的flash地址起始于0x0800 0000,結(jié)束地址是0x0800 0000加上芯片實(shí)際的flash大小,不同的芯片flash大小不同。RAM起始地址是0x2000 0000,結(jié)束地址是0x2000 0000加上芯片的RAM大小
1)獨(dú)立看門狗沒有中斷,窗口看門狗有中斷2)獨(dú)立看門狗有硬件軟件之分,窗口看門狗只能軟件控制3)獨(dú)立看門狗只有下限,窗口看門狗又下限和上限4)獨(dú)立看門狗是12位遞減的。窗口看門狗是7位遞減的5)獨(dú)立看門狗是用
例子一 1 ;RCC寄存器地址映像 2 RCC_BASE EQU 0x40021000 3 RCC_CR EQU (RCC_BASE + 0x00) 4 RCC_CFGR EQU (RCC_BASE + 0x04) 5 RCC_CIR EQU (RCC_BASE + 0x
我用的紅外遙控是使用的NEC協(xié)議,即使用PWM來調(diào)制發(fā)送的信息 NEC協(xié)議,其特征如下:1、8位地址和8位指令長(zhǎng)度;2、地址和命令2次傳輸(確保可靠性)3、PWM脈沖位置調(diào)制,以發(fā)射紅外載波的占空比代表“0”和“1”;4、
今天講解“STM32F103 SPI主從通信”,原本計(jì)劃將這部分內(nèi)容定在后面(第二階段)來講解,滿足一位網(wǎng)友的問題“關(guān)于兩塊MCU的SPI通訊”,所以今天特地提前講解了。由于昨天講解的是“SPI讀寫Flash”,MCU是作為SPI通信
stm32并不是所有的型號(hào)都有DAC功能,只有stm32f103xC/D/E系列 才有DAC轉(zhuǎn)換功能。由于庫函數(shù)手冊(cè)中沒有相關(guān)說明,所以只能通過在MDK提供的相關(guān)庫文件 stm32f10x_dac.c 中找到相應(yīng)的DAC函數(shù),做了一番嘗試。 折騰了
VDDA為所有的模擬電路部分供電,包括:ADC模塊,復(fù)位電路,PVD(可編程電壓監(jiān)測(cè)器),PLL,上電復(fù)位(POR)和掉電復(fù)位(PDR)模塊,控制VBAT切換的開關(guān)等。即使不 使用ADC功能,也需要連接VDDA,強(qiáng)烈建議VDD和VDDA使
嵌入式應(yīng)用中經(jīng)常會(huì)遇到需要保存一些數(shù)據(jù)比如選項(xiàng)和設(shè)置等等,為了在設(shè)備關(guān)機(jī)或掉電情況下數(shù)據(jù)不丟失,我們會(huì)講數(shù)據(jù)保存在EEPROM里面。STM32系列MCU已經(jīng)被廣泛的使用,可是該芯片內(nèi)沒有EEPROM。如果外接一片EEPRM會(huì)增
配置定時(shí)100us的配置如下:TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);TIM_DeInit(TIM2);TIM_TimeBaseStructure.TIM_Period=1;//59999;//1199;//9999;TIM_T
DS18B20 是由 DALLAS 半導(dǎo)體公司推出的一種的“一線總線”接口的溫度傳感器。與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它是一種新型的體積小、適用電壓寬、與微處理器接口簡(jiǎn)單的數(shù)字化溫度傳感器。一線總線結(jié)構(gòu)具有簡(jiǎn)潔且經(jīng)
串口的配置的文檔如下所示出口3的頭文件#ifndef__USART3_H#define__USART3_H#include"sys.h"#defineUSART3_MAX_RECV_LEN200//×?′ó?óê??o′?×??úêy#defineUSART3_MAX_SEND_LEN200//×?′ó·¢?í?o′?×??ú
這張圖是一條外部中斷線或外部事件線的示意圖,圖中信號(hào)線上劃有一條斜線,旁邊標(biāo)志19字樣的注釋,表示這樣的線路共有19套。圖中的藍(lán)色虛線箭頭,標(biāo)出了外部中斷信號(hào)的傳輸路徑。首先外部信號(hào)從編號(hào)1的芯片管腳進(jìn)入,
在項(xiàng)目中,原來使用的是八根數(shù)據(jù)線,讀取數(shù)據(jù)沒有問題,在后來改用十六根地址線并把數(shù)據(jù)寬度改為十六位之后讀出來的數(shù)據(jù)就很奇怪了,經(jīng)過仔細(xì)分析師由于STM32的內(nèi)外地址映射造成的,具體參照STM32技術(shù)參考手冊(cè)中文翻
一、在STM32中,有5個(gè)時(shí)鐘源,為HSI,HSE,LSI,LSE,PLL.①HSI是高速內(nèi)部時(shí)鐘,RC振蕩器,頻率為8MHz;②HSE--高速外部時(shí)鐘,可接石英或者陶瓷諧振器,或者外部時(shí)鐘源,頻率范圍4MHz--15MHz.③LSI--低速內(nèi)部時(shí)鐘,RC 振蕩
# define M 3#define N 10uint16_t AD_Value[N][M];void ADC_Configuration(void){ADC_InitTypeDef ADC_InitStructure;ADC_DeInit (ADC1 );//將外設(shè)adc1的全部寄存器設(shè)置為默認(rèn)值A(chǔ)DC_InitStructure .ADC_Mode =ADC_M