国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

10、江科大stm32視頻學(xué)習(xí)筆記——PWM驅(qū)動(dòng)led呼吸燈、驅(qū)動(dòng)舵機(jī)、驅(qū)動(dòng)直流機(jī)

這篇具有很好參考價(jià)值的文章主要介紹了10、江科大stm32視頻學(xué)習(xí)筆記——PWM驅(qū)動(dòng)led呼吸燈、驅(qū)動(dòng)舵機(jī)、驅(qū)動(dòng)直流機(jī)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、PWM驅(qū)動(dòng)LED呼吸燈(燈接在PA0)

1、PWM波和GPIO的對(duì)應(yīng)關(guān)系參考引腳定義表

2、計(jì)數(shù)器的計(jì)算

3、TIM輸出PWM波使用步驟?編輯

4、代碼

(1)輸出化比較單元

(2) PWM.c

(3)main.c

5、重映射更換成PA15亮燈

二、PWM驅(qū)動(dòng)舵機(jī)(舵機(jī)接在PA1、按鍵在PB1)?

1、電路圖

2、參數(shù)計(jì)算

3、代碼

(1) PWM.c修改的地方

(2)PWM.c完整代碼

(3)Servo.c

(4)main.c

三、PWM驅(qū)動(dòng)直流電機(jī)

1、原理圖

2、代碼

(1)PWM.c中改的地方

(2)Motor.c

(3)main.c

四、基礎(chǔ)知識(shí)


一、PWM驅(qū)動(dòng)LED呼吸燈(燈接在PA0)

1、PWM波和GPIO的對(duì)應(yīng)關(guān)系參考引腳定義表

gpio pwm,stm32單片機(jī),stm32,單片機(jī),嵌入式硬件

(1)TIM2的引腳復(fù)用在了PA0引腳上,故要是要TIM2的OC1也就是CH1通道,輸出PWM,那它只能在PA0的引腳上輸出,而不能任意選擇引腳輸出

(2)同樣,若選擇 TIM2的是CH2通道,那只能在PA1端口輸出,以此類推

(3)但還是有一次重映射的機(jī)會(huì),可以在其他引腳上輸出?

2、計(jì)數(shù)器的計(jì)算

PWM的頻率=計(jì)數(shù)器的更新頻率

若要產(chǎn)生一個(gè)頻率為1kHz,占空比為50%,分辨率為1%的PWM波形

帶入公式:72M/(PSC+1)/(ARR+1)=1000

? ? ? ? ? ? ? ? ? CCR/(ARR+1) = 50%

? ? ? ? ? ? ? ? ? 1/(ARR+1)=1%

則計(jì)算出:ARR+1=100,CCR=50,PSC+1=720?

則等以1kHZ的頻率閃爍,但是我們看不出來

gpio pwm,stm32單片機(jī),stm32,單片機(jī),嵌入式硬件

?? ?TIM_TimeBaseInitStructure.TIM_Period = 100 - 1;?? ??? ?//ARR
?? ?TIM_TimeBaseInitStructure.TIM_Prescaler = 720 - 1;?? ??? ?//PSC
?? ?TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;

3、TIM輸出PWM波使用步驟

第一步:RCC開啟時(shí)鐘,打開TIM外設(shè)和GPIO外設(shè)的時(shí)鐘

第二步:配置時(shí)基單元,包括時(shí)基單元和時(shí)基單元前的時(shí)鐘源選擇

第三步:配置輸出比較單元,里面包括CCR的值、輸出比較模式、極性選擇、輸出使能(結(jié)構(gòu)體配置)

第四步:配置GPIO口,初始化為復(fù)用推挽輸出的配置

第五步:運(yùn)行控制,啟動(dòng)計(jì)數(shù)器,就能輸出PWM波

4、代碼

(1)輸出化比較單元

	TIM_OCInitTypeDef TIM_OCInitStructure;//定義結(jié)構(gòu)體
	TIM_OCStructInit(&TIM_OCInitStructure);//初始化所有結(jié)構(gòu)題
	TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;//設(shè)置輸出比較的模式
	TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//設(shè)置比較的極性
	TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//設(shè)置輸出使能
	TIM_OCInitStructure.TIM_Pulse = 0;		//設(shè)置CCR的值0-ffff
	TIM_OC1Init(TIM2, &TIM_OCInitStructure);//用結(jié)構(gòu)體初始化	

(2) PWM.c

#include "stm32f10x.h"                  // Device header

void PWM_Init(void)
{
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	
//	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
//	GPIO_PinRemapConfig(GPIO_PartialRemap1_TIM2, ENABLE);
//	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
	
	GPIO_InitTypeDef GPIO_InitStructure;
	//對(duì)于普通的開漏推挽輸出,引腳的控制權(quán)是來自于輸出數(shù)據(jù)寄存器,
	//若想要定時(shí)器控制引腳,需要使用復(fù)用開漏/推挽輸出的模式
	//此時(shí),輸出數(shù)據(jù)寄存器將被斷開,輸出控制權(quán)將轉(zhuǎn)移到片上外設(shè)
	//本實(shí)驗(yàn)中片上外設(shè)引腳連接的就是TIM2的CH1通道,所以只有把GPIO設(shè)置程復(fù)用推挽輸出
	//引腳的控制權(quán)才能交給片上外設(shè),PWM波形才能通過引腳輸出
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;	//復(fù)用推挽輸出
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;		//GPIO_Pin_15;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
	
	//時(shí)基單元初始化
	TIM_InternalClockConfig(TIM2);
	
	TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
	TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
	TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
	TIM_TimeBaseInitStructure.TIM_Period = 100 - 1;		//ARR
	TIM_TimeBaseInitStructure.TIM_Prescaler = 720 - 1;		//PSC
	TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;
	TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStructure);
	
	//初始化輸出比較單元
	//PA0口對(duì)應(yīng)1通道
	TIM_OCInitTypeDef TIM_OCInitStructure;
	//不想把所有成員都列出來賦一個(gè)初始值,就用TIM_OCStructInit初始化值,防止出現(xiàn)奇怪的錯(cuò)誤
	TIM_OCStructInit(&TIM_OCInitStructure);
	TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;//PWM模式1和PWM模式2
	//輸出比較極性:
	//TIM_OCPolarity_High高級(jí)性,就是極性不翻轉(zhuǎn),REF波形直接輸出,或者說有效電平是高電平
	//TIM_OCPolarity_Low低極性,就是REF波形電平取反,有效電平為低電平
	TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
	TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
	TIM_OCInitStructure.TIM_Pulse = 0;		//設(shè)置CCR的值0-ffff
	TIM_OC1Init(TIM2, &TIM_OCInitStructure);//用結(jié)構(gòu)體初始化	
	
	TIM_Cmd(TIM2, ENABLE);//啟動(dòng)定時(shí)器
}

void PWM_SetCompare1(uint16_t Compare)
{
	TIM_SetCompare1(TIM2, Compare);//設(shè)置占空比
}

(3)main.c

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "PWM.h"

uint8_t i;

int main(void)
{
	OLED_Init();
	PWM_Init();
	
	while (1)
	{
		for (i = 0; i <= 100; i++)
		{
			PWM_SetCompare1(i);//更改占空比的函數(shù)
			Delay_ms(10);
		}
		for (i = 0; i <= 100; i++)
		{
			PWM_SetCompare1(100 - i);
			Delay_ms(10);
		}
	}
}

5、重映射更換成PA15亮燈

gpio pwm,stm32單片機(jī),stm32,單片機(jī),嵌入式硬件

?想要把PA0改成PA15,就可以選重映射方式1或者完全重映射

在"GPIO_InitTypeDef GPIO_InitStructure;"前面添加

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);? ? ? ? ? ? ? (1)

GPIO_PinRemapConfig(GPIO_PartialRemap1_TIM2,ENABLE);? ? ? ? ? ? ? ? ? ? (2)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE)? ? ? ? ? ?(3)

gpio pwm,stm32單片機(jī),stm32,單片機(jī),嵌入式硬件

PA15是調(diào)試端口,所以要解除調(diào)試端口?GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE)

  • 若想要讓PA15、PB3、PB4這三個(gè)引腳當(dāng)作普通GPIO來使用,則加第一、三句,打開AFIO時(shí)鐘,讓AFIO時(shí)鐘將JTAG復(fù)用解除掉
  • 如果想要重映射定時(shí)器或者其他外設(shè)的復(fù)用引腳,加第一句和第二句,就要先打開AFIO時(shí)鐘,再用AFIO重映射外設(shè)復(fù)用的引腳,
  • 若重映射的引腳正好是調(diào)試端口,則三句全加上

改變引腳:

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;

改為

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;

此時(shí)PA0的燈不亮,而PA15的燈亮了

二、PWM驅(qū)動(dòng)舵機(jī)(舵機(jī)接在PA1、按鍵在PB1)?

1、電路圖

gpio pwm,stm32單片機(jī),stm32,單片機(jī),嵌入式硬件

2、參數(shù)計(jì)算

  • 舵機(jī)要求的頻率:20ms,故為50Hz
  • 占空比:舵機(jī)要求高電平時(shí)間是0.5ms~2.5ms
  • 計(jì)算出來的PSC和ARR不固定
  • 測試PSC+1=72,ARR+1=20k時(shí)比較方便,此時(shí),CCR=500,則0.5ms,CCR=2500,則2.5ms
  • CCR=500,0度,CRR=2500,180度

gpio pwm,stm32單片機(jī),stm32,單片機(jī),嵌入式硬件

3、代碼

(1) PWM.c修改的地方

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
TIM_TimeBaseInitStructure.TIM_Period = 20000 - 1;		//ARR
TIM_TimeBaseInitStructure.TIM_Prescaler = 72 - 1;		//PSC

void PWM_SetCompare2(uint16_t Compare)//從通道1改為使用通道2
{
	TIM_SetCompare2(TIM2, Compare);
}

(2)PWM.c完整代碼

#include "stm32f10x.h"                  // Device header

void PWM_Init(void)
{
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	
	
	
	
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
	
	TIM_InternalClockConfig(TIM2);
	
	TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
	TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
	TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
	TIM_TimeBaseInitStructure.TIM_Period = 20000 - 1;		//ARR
	TIM_TimeBaseInitStructure.TIM_Prescaler = 72 - 1;		//PSC
	TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;
	TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStructure);
	
	TIM_OCInitTypeDef TIM_OCInitStructure;
	TIM_OCStructInit(&TIM_OCInitStructure);
	TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
	TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
	TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
	TIM_OCInitStructure.TIM_Pulse = 0;		//CCR
	TIM_OC2Init(TIM2, &TIM_OCInitStructure);
	
	TIM_Cmd(TIM2, ENABLE);
}

void PWM_SetCompare2(uint16_t Compare)//使用通道2
{
	TIM_SetCompare2(TIM2, Compare);
}

(3)Servo.c

#include "stm32f10x.h"                  // Device header
#include "PWM.h"

void Servo_Init(void)
{
	PWM_Init();
}

void Servo_SetAngle(float Angle)
{
	PWM_SetCompare2(Angle / 180 * 2000 + 500);
}

(4)main.c

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "Servo.h"
#include "Key.h"

uint8_t KeyNum;
float Angle;

int main(void)
{
	OLED_Init();
	Servo_Init();
	Key_Init();
	
	OLED_ShowString(1, 1, "Angle:");
	
	while (1)
	{
		KeyNum = Key_GetNum();
		if (KeyNum == 1)
		{
			Angle += 30;
			if (Angle > 180)
			{
				Angle = 0;
			}
		}
		Servo_SetAngle(Angle);
		OLED_ShowNum(1, 7, Angle, 3);
	}
}

三、PWM驅(qū)動(dòng)直流電機(jī)

1、原理圖

gpio pwm,stm32單片機(jī),stm32,單片機(jī),嵌入式硬件

  • ?紅色的是TB6612電機(jī)驅(qū)動(dòng)模塊
  • 連接電機(jī)的兩根線不分正反,對(duì)調(diào)知識(shí)反過來轉(zhuǎn)動(dòng),AIN1和AIN2是方向控制,任意連接兩個(gè)GPIO就行(此處接PA4、PA5),PWMA是速度控制,需要接PWM的輸出腳(PA2,PA2對(duì)應(yīng)的是TIM2的通道3,到時(shí)候初始化通道三即可)

2、代碼

(1)PWM.c中改的地方

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;//(0改為2)
TIM_OC3Init(TIM2, &TIM_OCInitStructure);//(1改為3)


TIM_TimeBaseInitStructure.TIM_Period = 1000 - 1;		//ARR
TIM_TimeBaseInitStructure.TIM_Prescaler = 72 - 1;		//PSC
//改頻率,將1kHZ改為20kHz
TIM_TimeBaseInitStructure.TIM_Period = 100 - 1;		//ARR
TIM_TimeBaseInitStructure.TIM_Prescaler = 36 - 1;		//PSC

void PWM_SetCompare3(uint16_t Compare)//(1改為3)
{
	TIM_SetCompare3(TIM2, Compare);
}

(2)Motor.c

#include "stm32f10x.h"                  // Device header
#include "PWM.h"

void Motor_Init(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
	
	PWM_Init();
}

void Motor_SetSpeed(int8_t Speed)
{
	if (Speed >= 0)//正轉(zhuǎn)
	{
		GPIO_SetBits(GPIOA, GPIO_Pin_4);
		GPIO_ResetBits(GPIOA, GPIO_Pin_5);
		PWM_SetCompare3(Speed);
	}
	else
	{
		GPIO_ResetBits(GPIOA, GPIO_Pin_4);//反轉(zhuǎn)
		GPIO_SetBits(GPIOA, GPIO_Pin_5);
		PWM_SetCompare3(-Speed);
	}
}

(3)main.c

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "Motor.h"
#include "Key.h"

uint8_t KeyNum;
int8_t Speed;

int main(void)
{
	OLED_Init();
	Motor_Init();
	Key_Init();
	
	OLED_ShowString(1, 1, "Speed:");
	
	while (1)
	{
		KeyNum = Key_GetNum();
		if (KeyNum == 1)
		{
			Speed += 20;
			if (Speed > 100)
			{
				Speed = -100;
			}
		}
		Motor_SetSpeed(Speed);
		OLED_ShowSignedNum(1, 7, Speed, 3);
	}
}

四、基礎(chǔ)知識(shí)

void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState)

僅高級(jí)定時(shí)器使用,在使用高級(jí)定時(shí)器輸出PWM時(shí),需要調(diào)用這個(gè)函數(shù),使能主輸出,否則PWM將不能正常輸出文章來源地址http://www.zghlxwxcb.cn/news/detail-627285.html

到了這里,關(guān)于10、江科大stm32視頻學(xué)習(xí)筆記——PWM驅(qū)動(dòng)led呼吸燈、驅(qū)動(dòng)舵機(jī)、驅(qū)動(dòng)直流機(jī)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • stm32HAL庫學(xué)習(xí)筆記----pwm驅(qū)動(dòng)舵機(jī)

    stm32HAL庫學(xué)習(xí)筆記----pwm驅(qū)動(dòng)舵機(jī)

    目錄 一、目標(biāo) 二、準(zhǔn)備 三、原理 四、cubemx 五、程序 實(shí)現(xiàn)stm32驅(qū)動(dòng)舵機(jī)旋轉(zhuǎn)0°,45°,90°,135°,180°等角度。 stm32f103(c8t6),舵機(jī)(SG90 9g),杜邦線 接線:舵機(jī)紅線-----------5V(mcu) ???????????舵機(jī)棕線-----------GND(mcu) ???????????舵機(jī)黃線-----------PA1(視情況而定

    2023年04月26日
    瀏覽(32)
  • 5、江科大stm32視頻學(xué)習(xí)筆記——OLED顯示屏

    5、江科大stm32視頻學(xué)習(xí)筆記——OLED顯示屏

    目錄 1、OLED簡介? 2、OLED硬件電路 3、OLED驅(qū)動(dòng)函函數(shù)簡介和應(yīng)用 4、用keil進(jìn)行調(diào)試 4引腳OLED SCL和SDA是I2C通信引腳,需要接在I2C通信的引腳上 實(shí)驗(yàn)中用的模塊是GPIO口模擬的I2C通信,故SCL和SDA兩個(gè)端口可以接在任意的GPIO口上 7引腳OLED 右邊5個(gè)引腳是SPI通信協(xié)議的引腳 如果是GPI

    2024年02月14日
    瀏覽(25)
  • stm32——pwm驅(qū)動(dòng)LED燈、舵機(jī)、直流電機(jī)

    stm32——pwm驅(qū)動(dòng)LED燈、舵機(jī)、直流電機(jī)

    改為PA15,選擇重映射方式1或完全重映射 在時(shí)鐘開啟后寫入 PWM頻率=計(jì)數(shù)器更新頻率 比如要產(chǎn)生一個(gè)頻率為1KHz,占空比為50%,分辨率為1%的PWM波形 72M/(PSC+1)/ (ARR+1)=1000 CCR/(ARR+1)=0.5 1/(ARR+1)=0.01 計(jì)算得:ARR=99,CCR=50, PSC=720-1; 常用模式為 PWM1模式1 PWM.c PWM.h main.c 參數(shù)計(jì)算 PWM.c Servo.

    2024年02月04日
    瀏覽(20)
  • 【STM32+HAL+Proteus】系列學(xué)習(xí)教程---PWM(呼吸燈)

    【STM32+HAL+Proteus】系列學(xué)習(xí)教程---PWM(呼吸燈)

    1、利用定時(shí)器輸出PWM實(shí)現(xiàn)呼吸燈 2、學(xué)會(huì)STM32CubeMX軟件輸出PWM的配置 3、具體目標(biāo):利用定時(shí)器3的通道2(部分重映射到PB5管腳)輸出1KHz的矩形波,實(shí)現(xiàn)呼吸燈。 1、什么是PWM? ????????PWM (Pulse width modulation)脈沖寬度調(diào)制。PWM是通過編程控制輸出方波的頻率和占空比(高

    2024年04月23日
    瀏覽(19)
  • STM32CubeIDE學(xué)習(xí)筆記——使用HAL庫PWM輸出驅(qū)動(dòng)舵機(jī)

    STM32CubeIDE學(xué)習(xí)筆記——使用HAL庫PWM輸出驅(qū)動(dòng)舵機(jī)

    目錄 PWM驅(qū)動(dòng)簡介 工程配置 代碼編寫 這里我采用的是STM32F103C8T6最小系統(tǒng)板,SG-90舵機(jī)實(shí)現(xiàn)功能。 舵機(jī)驅(qū)動(dòng)角度和PWM占空比有關(guān)系,具體對(duì)應(yīng)為50--0度? 150--90度? 250--180度,通過STM32的定時(shí)器功能輸出PWM波來控制舵機(jī)進(jìn)行轉(zhuǎn)動(dòng)。 ?時(shí)鐘選擇外部高速時(shí)鐘 系統(tǒng)映射配置 時(shí)鐘樹設(shè)

    2024年02月13日
    瀏覽(19)
  • 江科大stm32視頻學(xué)習(xí)筆記——TIM定時(shí)中斷&定時(shí)器外部時(shí)鐘

    江科大stm32視頻學(xué)習(xí)筆記——TIM定時(shí)中斷&定時(shí)器外部時(shí)鐘

    目錄 一、TIM(Timer)定時(shí)器簡介 ?1.1 定時(shí)器類型 摘要 1.1.1 基本定時(shí)器 1.1.2 通用定時(shí)器 1.1.3 高級(jí)定時(shí)器? 1.2 定時(shí)中斷基本結(jié)構(gòu) 1.2.1 結(jié)構(gòu)框圖 1.2.2 時(shí)序圖 二、定時(shí)器定時(shí)中斷定時(shí)器外部時(shí)鐘 2.1 內(nèi)部時(shí)鐘鬧鐘代碼 2.1.1 Timer.c 2.1.2 Buzzer.c加入間隔發(fā)聲函數(shù) 2.1.3 main.c 2.1.4 實(shí)驗(yàn)視頻

    2024年01月23日
    瀏覽(55)
  • 18、江科大stm32視頻學(xué)習(xí)筆記——USART串口發(fā)送&串口發(fā)送和接收

    18、江科大stm32視頻學(xué)習(xí)筆記——USART串口發(fā)送&串口發(fā)送和接收

    目錄 一、USART串口發(fā)送? 1、電路圖 2、printf函數(shù)的移植方法 3、serial.c 4、main.c 5、解決直接寫漢字,編譯器報(bào)錯(cuò) 二 、USART串口發(fā)送和接收 1、查詢實(shí)現(xiàn) 2、中斷實(shí)現(xiàn)? (1)在Serial.c中添加的代碼 (2)主函數(shù)中調(diào)用 (3)思路 (4)完整的Serial.c代碼 (5)mian.c ?要交叉連接,所

    2023年04月08日
    瀏覽(20)
  • STM32F103RCT6開發(fā)板M3單片機(jī)教程07-TIMER1CH1輸出 PWM做LED呼吸燈

    STM32F103RCT6開發(fā)板M3單片機(jī)教程07-TIMER1CH1輸出 PWM做LED呼吸燈

    本教程使用是( 光明谷SUN_STM32mini開發(fā)板 ) ? 免費(fèi)開發(fā)板 ? 在谷動(dòng)谷力社區(qū)注冊(cè)用戶,打卡,發(fā)帖求助都可以獲取積分,當(dāng)然最主要是發(fā)原創(chuàng)應(yīng)用文檔獎(jiǎng)勵(lì)更多積分. (可用積分換取,真的不用錢,開發(fā)板免費(fèi)玩):STM32F103RCT6開發(fā)板M3單片機(jī)核芯小系統(tǒng)板學(xué)習(xí)板 ... 已經(jīng)購買用

    2024年02月22日
    瀏覽(20)
  • 26、江科大stm32視頻學(xué)習(xí)筆記——W25Q64簡介

    26、江科大stm32視頻學(xué)習(xí)筆記——W25Q64簡介

    一、W25Q64簡介 1、W25Q64的內(nèi)存空間結(jié)構(gòu): ?一頁256字節(jié),4K(4096 字節(jié))為一個(gè)扇區(qū),16個(gè)扇區(qū)為1塊,容量為8M字節(jié),共有128個(gè)塊,2048 個(gè)扇區(qū)。 ? 2、W25Q64每頁大小由256字節(jié)組成,每頁的256字節(jié)用一次頁編程指令即可完成。 3、擦除指令分別支持: 16頁(1個(gè)扇區(qū))、128頁、256頁、全片

    2024年01月22日
    瀏覽(27)
  • 11、江科大stm32視頻學(xué)習(xí)筆記——輸入捕獲模式測頻率、PWMI模式測頻率占空比

    11、江科大stm32視頻學(xué)習(xí)筆記——輸入捕獲模式測頻率、PWMI模式測頻率占空比

    目錄 一、知識(shí)點(diǎn) 1、IC(Input Capture)輸入捕獲 2、通用定時(shí)器結(jié)構(gòu) (1)輸出比較的執(zhí)行邏輯 (2)四個(gè)輸入捕獲和輸出比較通道 (3)輸入捕獲的執(zhí)行流程和輸出比較的區(qū)別 (4)輸入捕獲的作用 (5)輸入捕獲通道 (6)PWMI模式:同時(shí)測量頻率和占空比 (7)主從觸發(fā)模式:

    2024年02月13日
    瀏覽(91)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包