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

stm32c8t6+dht11+MQ系列環(huán)境檢測模塊+oled顯示屏(基于物聯(lián)網(wǎng)的家庭環(huán)境檢測系統(tǒng)設(shè)計)

這篇具有很好參考價值的文章主要介紹了stm32c8t6+dht11+MQ系列環(huán)境檢測模塊+oled顯示屏(基于物聯(lián)網(wǎng)的家庭環(huán)境檢測系統(tǒng)設(shè)計)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

元件清單:

stm32f103c8t6、mq2 檢測煙霧濃度(模擬量輸出)、mq7 檢測一氧化碳濃度、mq135 檢測空氣質(zhì)量、OLED屏幕(四引腳僅支持iic協(xié)議通信)、dht11檢測溫濕度(數(shù)字量輸出)、風(fēng)扇模塊、無源蜂鳴器、兩引腳按鍵、WH-NB73-B5、ttl-usb


接線圖:

mq2傳感器oled屏幕顯示,mcu,stm32,嵌入式硬件


mq2傳感器oled屏幕顯示,mcu,stm32,嵌入式硬件


?0:實現(xiàn)了dht11的溫濕度以及mq2煙霧濃度的采集并通過OLED顯示屏顯示

mq2傳感器oled屏幕顯示,mcu,stm32,嵌入式硬件

/*
濕度整數(shù) 濕度小數(shù) 溫度整數(shù)  溫度小數(shù)  校驗位 
00000000 00000000 00000000  00000000  00000000

1  看原理圖確認GPIO引腳
2、 輸出模式, 輸出起始信號  :輸出低電平18~30ms, 20ms	
3、 IO口配置浮空輸入模式,準檢測響應(yīng)信號
		傳感器把數(shù)據(jù)總線( SDA)拉低 83μs,
		再接高 87μs 以響應(yīng)主機的起始信號。		
4、 40 個位的數(shù)據(jù),高位先發(fā);
		一位一位的收,數(shù)據(jù)0: 54us低電平 + 23~27高電平 
					 數(shù)據(jù)1: 54us低電平 + 68~74高電平
		注意高位先發(fā)的(每個字節(jié))
5、校驗數(shù)據(jù)
	前4個字節(jié),求和,把和值的末八位和校驗位對比
	相同數(shù)據(jù)正確、否則數(shù)據(jù)異常
*/
//程序未寫零下
char tmp = 0,hum = 0;
void DHT_GPIO_Config(u8 flag)
{		
	GPIO_InitTypeDef GPIO_Config; 
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //開啟端口時鐘
	GPIO_Config.GPIO_Pin = GPIO_Pin_8; 
	if(flag==OUTPUT)
		GPIO_Config.GPIO_Mode = GPIO_Mode_Out_PP;//推挽輸出
	else
		GPIO_Config.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空輸入
	GPIO_Config.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB,&GPIO_Config);
}

u8 DHT_GetData(void)
{
	u8 i = 0;
	u8 count = 0;
	u8 data[5]={0};
	//輸出模式, 輸出起始信號  :輸出低電平18~30ms, 20ms	
	DHT_GPIO_Config(OUTPUT);
	DHT_High;
	DHT_Low;
	Delay_ms(20);
	//DHT_High;
	DHT_GPIO_Config(INPUT);

	/*IO口配置浮空輸入模式,準檢測響應(yīng)信號
		傳感器把數(shù)據(jù)總線( SDA)拉低 83μs,
		再接高 87μs 以響應(yīng)主機的起始信號。
	*/
	
	while(DHT_CHECK==1)
	{
		delay_1us();
		count++;
		if(count>100)
			return 1;
	}
	count=0;
	while(DHT_CHECK==0)
	{
		delay_1us();
		count++;
		if(count>100)
			return 2;
	}	
	for(i=0;i<40;i++)
	{
		count=0;
		while(DHT_CHECK==1)
		{
			delay_1us();
			count++;
			if(count>100)
				return 3;	
		}
		
		count=0;
		while(DHT_CHECK==0)
		{
			delay_1us();
			count++;
			if(count>100)
				return 4;	
		}
		Delay_us(30);
		if(DHT_CHECK==1)
		{
			data[i/8] |= (1<<(7-i%8)); //置1
		}else
		{
			data[i/8] &=~ (1<<(7-i%8));//清零
		}	
	}
	
	/*校驗數(shù)據(jù)
	前4個字節(jié),求和,把和值的末八位和校驗位對比
	相同數(shù)據(jù)正確、否則數(shù)據(jù)異常*/
	
	if((data[0]+data[1]+data[2]+data[3])==data[4])
	{
		tmp=data[2];
		hum=data[0];	
		return 0;
	}
	else
	{
		return 5;
	}	
}


1:在上邊的基礎(chǔ)上利用DMA實現(xiàn)多通道的數(shù)據(jù)采集(設(shè)置閥值,驅(qū)動風(fēng)扇轉(zhuǎn)動,并可手動按鍵改變閥值,并在屏幕顯示變化;通過NB模塊上傳數(shù)據(jù)至有人云)

//mq2 mq7 mq135的采集
void ADC1_Config(void)
{
	GPIO_InitTypeDef GPIO_Struct = {0};
	ADC_InitTypeDef ADC_Struct = {0};
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
		
	GPIO_Struct.GPIO_Mode = GPIO_Mode_AIN;//模擬輸入
	GPIO_Struct.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_6|GPIO_Pin_7;
	GPIO_Struct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_Struct);
		
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);
		
	RCC_ADCCLKConfig(RCC_PCLK2_Div6);//設(shè)置ADC時鐘 72/6<14
	ADC_Struct.ADC_Mode = ADC_Mode_Independent; //獨立工作模式
	ADC_Struct.ADC_ContinuousConvMode = ENABLE;//連續(xù)模式
	ADC_Struct.ADC_ScanConvMode = ENABLE; //多通道模式
	ADC_Struct.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //轉(zhuǎn)換由軟件觸發(fā)啟動
	ADC_Struct.ADC_DataAlign = ADC_DataAlign_Right;//右對齊
	ADC_Struct.ADC_NbrOfChannel = 3;//規(guī)定了順序進行規(guī)則轉(zhuǎn)換的 ADC 通道的數(shù)目
	ADC_Init(ADC1,&ADC_Struct);

	//設(shè)置指定 ADC 的規(guī)則組通道,設(shè)置它們的轉(zhuǎn)化順序和采樣時間
	//MQ2
	ADC_RegularChannelConfig(ADC1,ADC_Channel_1,1,ADC_SampleTime_239Cycles5);
	//MQ7
	ADC_RegularChannelConfig(ADC1,ADC_Channel_6,2,ADC_SampleTime_239Cycles5);
	//MQ135
	ADC_RegularChannelConfig(ADC1,ADC_Channel_7,3,ADC_SampleTime_239Cycles5);
		
	ADC_DMACmd(ADC1,ENABLE);
	DMA_Config();	
	ADC_Cmd(ADC1,ENABLE); 
	
	//校準:減小誤差
	ADC_ResetCalibration(ADC1);//重置寄存器
	while(ADC_GetResetCalibrationStatus(ADC1)==SET)//等待重置完成
	{}
	ADC_StartCalibration(ADC1);//啟動校準,用校準寄存器 校準 ADC1
	while(ADC_GetCalibrationStatus(ADC1)==SET)//等待校準完成
	{}			
	ADC_SoftwareStartConvCmd(ADC1,ENABLE); //啟動轉(zhuǎn)換	 使能或者失能指定的 ADC 的軟件轉(zhuǎn)換啟動功能 					
}

u16 DMA_buf[3]={0};
void DMA_Config(void)
{
	DMA_InitTypeDef DMA_Struct={0};
	RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE); //開啟DMA時鐘

	DMA_Struct.DMA_PeripheralBaseAddr =(u32) &ADC1->DR; //定義DMA外設(shè)基地址
	DMA_Struct.DMA_DIR = DMA_DIR_PeripheralSRC; //外設(shè)作為數(shù)據(jù)傳輸?shù)膩碓?	DMA_Struct.DMA_BufferSize = 3; //地址遞增兩次(單位為字寬)
	DMA_Struct.DMA_PeripheralInc = DMA_PeripheralInc_Disable; //外設(shè)地址寄存器不變
	DMA_Struct.DMA_MemoryInc = DMA_MemoryInc_Enable; //內(nèi)存地址寄存器遞增
	DMA_Struct.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; //數(shù)據(jù)寬度為16位
	DMA_Struct.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; //數(shù)據(jù)寬度為16位
	DMA_Struct.DMA_Mode = DMA_Mode_Circular; //工作在循環(huán)緩存模式
	DMA_Struct.DMA_Priority = DMA_Priority_High;//優(yōu)先級
	DMA_Struct.DMA_M2M = DMA_M2M_Disable;//DMA通道沒有設(shè)置為內(nèi)存到內(nèi)存?zhèn)鬏?	DMA_Struct.DMA_MemoryBaseAddr = (u32)&DMA_buf[0]; //內(nèi)存基地址
	
	DMA_Init(DMA1_Channel1,&DMA_Struct);
	DMA_Cmd(DMA1_Channel1,ENABLE);
}

//不采用DMA的多通道采集方法
//u16 ADC_Result(u8 ADC_Channel_x)
//{
//	u16 ADC_val = ADC_GetConversionValue(ADC1); //返回最近一次 ADCx 規(guī)則組的轉(zhuǎn)換結(jié)果
//	ADC_RegularChannelConfig(ADC1,ADC_Channel_x,1,ADC_SampleTime_239Cycles5);
//	ADC_SoftwareStartConvCmd(ADC1,ENABLE); //啟動轉(zhuǎn)換	 使能或者失能指定的 ADC 的軟件轉(zhuǎn)換啟動功能 	
//	while((ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC))==RESET);
//	
//	//float ADC_Cha = (ADC_val*3.3/4096);
//	//printf("ADC_val == %d\r\n",ADC_val);
//	return ADC_val;
//}

2:將按鍵連接PB引腳,通過外部終端配置實現(xiàn)部分功能

mq2傳感器oled屏幕顯示,mcu,stm32,嵌入式硬件

3、在進行有人云端鏈接之前,需要先再云端添加設(shè)備模板、創(chuàng)建設(shè)備。有人透傳云

mq2傳感器oled屏幕顯示,mcu,stm32,嵌入式硬件

在通信過程中,由底層開發(fā)板采集數(shù)據(jù),并將數(shù)據(jù)封裝成MODBUS-RTU格式,通過串口發(fā)送給NB模塊,然后NB模塊將數(shù)據(jù)上傳到云端(創(chuàng)建模板時選擇了MODBUS-RTU格式),NB模塊是直連有人云的,在這里,我們訪問云端,并將數(shù)據(jù)寫入到云端的寄存器中。?

在云端設(shè)置完成后,NB模塊主動發(fā)送數(shù)據(jù)、或重新上電之后即可上線。因為在測試階段已經(jīng)保證了設(shè)備是正常工作的,在這里我們直接嘗試上傳數(shù)據(jù)了。

在上傳數(shù)據(jù)時,有人云平臺支持MODBUS-RTU協(xié)議,我們只需要將采集的數(shù)據(jù)進行封裝,然后將數(shù)據(jù)通過串口發(fā)送給NB模塊。數(shù)據(jù)上傳成功后,可以在設(shè)備概況、監(jiān)控大屏或者云組態(tài)當中查看數(shù)據(jù)內(nèi)容、上傳時間、異常信息、設(shè)備上下線等。

通信格式: 設(shè)備號 功能碼 起始地址 寄存器數(shù)量 數(shù)據(jù)長度 數(shù)據(jù)塊(寄存器) 校驗(CRC)

#include "nbiot.h"
/*
	buf[0]  :溫度
	buf[1]	:濕度
	buf[2]	:光照強度
	buf[3]  :煙霧濃度
*/
void NB_Send_IOT1(uint16_t buf[4])
{
	char sendbuf[256]={0};
	char sendbuf1[256]={0};
	uint8_t tmpbuf[64]={0};
	uint16_t CRC_Tmp;
	tmpbuf[0]=0x01;//從機地址
	tmpbuf[1]=0x46;//操作碼
	tmpbuf[2]=0x00;
	tmpbuf[3]=0x00;//寄存器起始地址  
	tmpbuf[4]=0x00;
	tmpbuf[5]=0x04;//寄存器數(shù)量
	tmpbuf[6]=0x08;//字節(jié)數(shù) = 寄存器數(shù)量 * 2
	tmpbuf[7]=(buf[0]>>8);
	tmpbuf[8]=(buf[0]&0xFF);//高位清零
	tmpbuf[9]=(buf[1]>>8);
	tmpbuf[10]=(buf[1]&0xFF);
	tmpbuf[11]=(buf[2]>>8);
	tmpbuf[12]=(buf[2]&0xFF);
	tmpbuf[13]=(buf[3]>>8);
	tmpbuf[14]=(buf[3]&0xFF);
	CRC_Tmp=CRC_16_Tab(tmpbuf,15);
	tmpbuf[15]=(CRC_Tmp>>8);
	tmpbuf[16]=(CRC_Tmp&0xFF);
    
//把16進制數(shù)據(jù)轉(zhuǎn)換為字符串,放入sendbuf
	SIM7020_Hex_to_Str((char *)tmpbuf,17,sendbuf,256);
    
//拼接字符串,拼接成上述格式
//設(shè)備號 功能碼 起始地址 寄存器數(shù)量 數(shù)據(jù)長度 數(shù)據(jù)塊(寄存器) 校驗(CRC)
	strcpy((char *)tmpbuf,"AT+NMGS=17,");
	
	strcat(sendbuf1,(char *)tmpbuf);
	strcat(sendbuf1,sendbuf);
	strcat(sendbuf1,"\r\n");
	NB_SendString((char *)sendbuf1);
	//Send_String_NBlot((uint8_t *)sendbuf1);
	printf("發(fā)送內(nèi)容= %s\r\n",sendbuf1);
}
/***************************************************************************/
//轉(zhuǎn)化數(shù)據(jù),轉(zhuǎn)成16進制字符串
/*
char *data 	 	:數(shù)據(jù)來源
int data_len	    :數(shù)據(jù)長度
char *out 		:存儲地址
int out_len		:存儲地址長度
*/
void SIM7020_Hex_to_Str(char *data, int data_len, char *out, int out_len)
{
	char temp[2];
	int  i;
	
	memset(out,0,out_len);              //清空緩沖區(qū)
	for(i=0;i<data_len;i++)
	{            //for循環(huán)
		sprintf(temp,"%02X",data[i]);   //轉(zhuǎn)化數(shù)據(jù),轉(zhuǎn)成16進制字符串
		strcat(out,temp);               //追加到out緩沖區(qū)              
	} 	
}






mq2傳感器oled屏幕顯示,mcu,stm32,嵌入式硬件

?上傳后:可以發(fā)現(xiàn),數(shù)據(jù)已經(jīng)改變mq2傳感器oled屏幕顯示,mcu,stm32,嵌入式硬件

?也可以在“監(jiān)控大屏”中左側(cè)選擇設(shè)備、右側(cè)查看實時數(shù)據(jù),點擊變量可以下發(fā)數(shù)據(jù),或控制指令,完成數(shù)據(jù)指令下發(fā)。mq2傳感器oled屏幕顯示,mcu,stm32,嵌入式硬件

在數(shù)據(jù)或指令下發(fā)時,云端下發(fā)指令也是MODBUS-RTU格式,以03功能碼為例:云端下發(fā)讀保持寄存器指令(03功能碼),通過 UDP鏈接傳輸?shù)轿覀兊腘B模塊,然后NB模塊將相應(yīng)的指令轉(zhuǎn)到我們的設(shè)備串口,在開發(fā)板上我們可以檢測串口的接收,在串口接收數(shù)據(jù)完成后,將所接收的數(shù)據(jù),按照MODBUS協(xié)議進行解析,如果下發(fā)的為03碼,則參照03功能碼的響應(yīng)方式對云端進行數(shù)據(jù)響應(yīng)。如果是其他功能碼,則根據(jù)需求進行解析。

程序資料已經(jīng)上傳到資源可以下載。

stm32c8t6+dht11+MQ系列環(huán)境檢測模塊+oled顯示屏(基于物聯(lián)網(wǎng)的家庭環(huán)境檢測系統(tǒng)設(shè)計)-智能家居文檔類資源-CSDN下載

如果這篇博客對你有幫助,給博主一個免費的點贊或者評論收藏以示鼓勵呀~感謝!??????

?有任何問題可以評論區(qū)留言~??????文章來源地址http://www.zghlxwxcb.cn/news/detail-787090.html

到了這里,關(guān)于stm32c8t6+dht11+MQ系列環(huán)境檢測模塊+oled顯示屏(基于物聯(lián)網(wǎng)的家庭環(huán)境檢測系統(tǒng)設(shè)計)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Openmv+STM32F103C8T6視覺巡線小車

    Openmv+STM32F103C8T6視覺巡線小車

    機器視覺巡線處理是參考openmv官方代碼 Openmv官網(wǎng)源代碼:book. openmv.cc/project/follow-lines.html 根據(jù)官網(wǎng)視頻及教程將源碼注入openmv中。 小車巡的是黑線,所以顏色閾值要更改。 在文件示例中打開helloworld.py。 打開工具/機器視覺/閾值編輯器/緩沖區(qū)。 將我們需要尋跡的黑線調(diào)至全

    2023年04月09日
    瀏覽(24)
  • SG90舵機的使用--STM32F103C8T6

    SG90舵機的使用--STM32F103C8T6

    SG90帶有一個3P的接頭 根據(jù)顏色分為 黃線(信號線) 紅線(電源線) 棕色 (地線) 舵機的 工作電壓 在 4.8V-6V ,接在STM32系統(tǒng)板上驅(qū)動不了,所以需要接電源模塊單獨的5V供電,我使用的是如圖所示的電源模塊 注: 如果STM32系統(tǒng)板供電和舵機供電不為同一模塊,則需要共地,

    2024年02月03日
    瀏覽(21)
  • [附源碼] STM32F103C8T6+外接MCP4725 外部DAC

    [附源碼] STM32F103C8T6+外接MCP4725 外部DAC

    ????????STM32F103C8T6最小系統(tǒng)板是大家很常用的一款單片機,它內(nèi)部有多個ADC模數(shù)轉(zhuǎn)換通道,但并 沒有DAC數(shù)模轉(zhuǎn)換功能 ,當需要進行數(shù)字量轉(zhuǎn)換為模擬量時就需要借助外部DAC。? ?? ????????MCP4725是具有非易失性存儲器的單通道12位緩沖電壓輸出DAC。用戶可將配置寄存器

    2024年02月04日
    瀏覽(47)
  • STM32CubeIDE使用示例(STM32CubeMX+STM32CubeIDE+Gcc+JLINK+STM32G030C8T6)

    STM32CubeIDE使用示例(STM32CubeMX+STM32CubeIDE+Gcc+JLINK+STM32G030C8T6)

    本文簡單記錄下STM32CubeIDE的使用方法,整體的環(huán)境是STM32CubeMX+STM32CubeIDE+Gcc+JLINK+STM32G030C8T6,實現(xiàn)的簡單測試功能是讓STM32G030C8T6板子上的LED閃爍,以STM32G030C8T6 PB4 腳做LED 輸出閃爍為例,外部8MHZ 晶振,系統(tǒng)主頻64MHZ,LED 燈1 秒鐘閃爍一次做一個示例程序; 1、我這邊已經(jīng)裝好了ST

    2024年02月15日
    瀏覽(15)
  • JQ8400語音模塊-stm32f103c8t6(內(nèi)含全代碼)-親測有效

    JQ8400語音模塊-stm32f103c8t6(內(nèi)含全代碼)-親測有效

    一.模塊介紹 1.常見的JQ8400-FL語音模塊有兩種,一種是帶3W功放,有4M的存儲空間,可通過USB拷貝聲音文件,通過單片機串口控制;另外一種是附有SD卡槽,用SD卡存儲文件的文件(MP3格式)進行語音播報,也是通過單片機串口控制 2.我用的是二線串口通信,一線的沒試過 3.程序

    2023年04月26日
    瀏覽(20)
  • 基于STM32F103C8T6單片機的DHT11溫濕度傳感器與OLED顯示屏實時動態(tài)數(shù)據(jù)監(jiān)測系統(tǒng)設(shè)計

    基于STM32F103C8T6單片機的DHT11溫濕度傳感器與OLED顯示屏實時動態(tài)數(shù)據(jù)監(jiān)測系統(tǒng)設(shè)計

    標題: 摘要: 本文提出了一種利用STM32F103C8T6微控制器,結(jié)合DHT11數(shù)字溫濕度傳感器和OLED顯示屏實現(xiàn)環(huán)境溫濕度實時、直觀顯示的方法。該系統(tǒng)通過低功耗且精確的DHT11傳感器獲取環(huán)境溫濕度信息,并借助于STM32F103C8T6強大的處理能力和I/O資源進行數(shù)據(jù)讀取、解析以及控制OLE

    2024年01月19日
    瀏覽(30)
  • STM32---stm32f103c8t6與stm32f103zet6之間的代碼移植轉(zhuǎn)換

    STM32---stm32f103c8t6與stm32f103zet6之間的代碼移植轉(zhuǎn)換

    目錄 一、將c8t6轉(zhuǎn)換為zet6 1、修改啟動文件 2、修改芯片 3、將MD修改為HD ?4、下載器的修改 5、修改完成,編譯成功 ?二、將zet6轉(zhuǎn)換為c8t6 最終結(jié)果如下:? ?將STM32F103C8改為STM32F103ZE ? 基本相同,反向即可。 ? ?

    2024年02月06日
    瀏覽(45)
  • 【滄海拾昧】STM32F103C8T6/C6T6的ISP燒錄

    【滄海拾昧】STM32F103C8T6/C6T6的ISP燒錄

    #C0105 滄海茫茫千鐘粟,且拾吾昧一微塵 ——《滄海拾昧集》@CuPhoenix 【閱前敬告】 滄海拾昧集僅做個人學(xué)習(xí)筆記之用,所述內(nèi)容不專業(yè)不嚴謹不成體系 【如有問題必是本集記錄有謬,切勿深究】 ??對于某種STM32F103C8T6/C6T6最小系統(tǒng)板,沒有配置J-LINK/ST-LINK燒錄口,此時可以

    2024年02月03日
    瀏覽(46)
  • STM32單片機PWM控制實現(xiàn)電機調(diào)速度(小車運動,STM32F103C8T6&TB6612&TT電機)

    STM32單片機PWM控制實現(xiàn)電機調(diào)速度(小車運動,STM32F103C8T6&TB6612&TT電機)

    作者:公子易平 時間:2023/6/6 前段時間做一個智能小車的相關(guān)項目時,發(fā)現(xiàn)很少有人能夠?qū)TM32的PWM控制講清楚,故而書此文,希望對后來的學(xué)習(xí)者有所幫助。 STM32F103C8T6最小系統(tǒng)板 直流TT電機 電機驅(qū)動芯片(TB6612) 杜邦線若干 接線情況: TB6612引腳說明: STM32主控芯片與TB6612接

    2024年02月15日
    瀏覽(30)
  • STM32F103C8T6---定時器1&定時器8輸出PWM信號注意事項

    STM32F103C8T6---定時器1&定時器8輸出PWM信號注意事項

    博主今天在驅(qū)動定時器1的通道1輸出PWM信號的時候,遇到了好多問題,在這里指出,警醒自己的同時希望能給各位帶來幫助 首先,第一個錯誤, 第一:PA8引腳默認模式就是定時器1的通道一,我們在代碼里面,直接 將PA8的輸出模式改為復(fù)用推挽輸出,不要去重定向它,也不要

    2024年02月16日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包