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

STM32無線透傳、PID調(diào)試工具

這篇具有很好參考價值的文章主要介紹了STM32無線透傳、PID調(diào)試工具。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

一、無線透傳概述與應(yīng)用
無線模塊 (RF wireless module) ,是數(shù)字?jǐn)?shù)傳電臺 (Digital radio)的模塊化產(chǎn)品,是指借助DSP 技術(shù)和無線電技術(shù)實(shí)現(xiàn)的高性能專業(yè)數(shù)據(jù)傳輸電臺模塊。 無線模塊延伸到很多的系統(tǒng)中,工業(yè)控制的開關(guān)量io設(shè)備,485無線傳輸設(shè)備dw-m1,模擬量采集和控制設(shè)備。從使用最早的按鍵電碼、電報、模擬電臺模塊加無線MODEM,發(fā)展到數(shù)字電臺模塊和DSP、軟件無線電;傳輸信號也從代碼、低速數(shù)據(jù)(300~1200bps)到高速數(shù)據(jù) (N64KNE1)。
E22-230T22S/30S/900T22S/T30S是全新一代的LoRa無線模塊基于SEMTECH公司SX1262射頻芯片的無線串口模塊 (UART),具有多種傳輸方式,E22-230T22S/30S工作在(220.125~236.125MHz) 頻段(默認(rèn)230.125MHz),E22-900T22S/T30S工作在(850.125~930.125MHz)頻段(默認(rèn)868125MHz), LoRa擴(kuò)頻技術(shù),TTL電平輸出,兼容3.3V與5V的10口電壓。E22-230T22S/30S/900T22S/T30S采用全新一代LoRa擴(kuò)頻技術(shù),與傳統(tǒng)SX1276方案相比,SX1262方案傳輸距離更遠(yuǎn),可達(dá)5KM,速度更快,功耗更低,體積更小,支持空中喚醒無線配置、載波監(jiān)聽、自動中繼、通信密鑰等,功能,支持分包長度設(shè)定。
二、本文中使用的無線透傳模塊
LoRa模塊(內(nèi)置MCU)采用億百特E22-400T22S與E22-400T30S,可實(shí)現(xiàn)廣播監(jiān)聽、定點(diǎn)傳輸、搭配設(shè)計的PCB使用:
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
模塊連接
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程

三、配置步驟與程序講解
1、模塊配置
配置準(zhǔn)備:準(zhǔn)備好 E22 無線電臺,將 M0 撥碼開關(guān)撥至 0,M1 撥碼開關(guān)撥至1,設(shè)置為配置模式(模式 2),如下圖。(注:撥碼開關(guān)帶標(biāo)識端(ON 端)為 0);
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
配置:打開配置軟件 RF_Setting(E22-E9X(SL)) V2.8.exe,選擇并打開串口,讀取參數(shù),此時會顯示電臺參數(shù),修改參數(shù)后,點(diǎn)擊寫入?yún)?shù)即完成參數(shù)配置,如下圖。(注:1、除頻率信道外,其他參數(shù)均按下圖配置,具體參數(shù)說明可參考產(chǎn)品手冊;2、頻率通道關(guān)系到兩個電臺的對頻,因此需要將兩個配對的電臺均
設(shè)置為相同的頻率通道(0~83),如圖將兩個電臺的信道均設(shè)為5);
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
測試準(zhǔn)備:將 M0 撥碼開關(guān)撥至 0,M1 撥碼開關(guān)也撥至 0,設(shè)置為一般模式(模式 0),如下圖。(注:撥碼開關(guān)帶標(biāo)識端(ON 端)為 0)
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
測試:兩個電臺均配置完成,且設(shè)為一般模式后,就能夠正常地進(jìn)行信號的發(fā)射和接收,通過串口調(diào)試助手 XCOM 進(jìn)行測試,如圖所示。
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
2、程序部分
透傳數(shù)據(jù):
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
初始化透傳串口,采用結(jié)構(gòu)體形式進(jìn)行初始化:
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
透傳接收處理:

//串口接收處理函數(shù)
/**
  * @brief  接受收據(jù)數(shù)據(jù)幀解包
  * @param   R_data 逐個接收到的數(shù)據(jù)
  			pUSART: 串口號
  * @retval : 解包狀態(tài)
  */
void Xbee_ReceivedByte_SUART(u8 R_data, struct USART_TypeDefStruct *pUSART)
{
//  IAP_Recieve(R_data);
	Through_RecStringCmd(pUSART,R_data);			  //串口數(shù)據(jù)透傳解析
    switch (pUSART->RecvParse.R_state)				  //接收數(shù)據(jù)幀解包用的結(jié)構(gòu)變量
    {
        case 0:
            {        
                if (R_data == (u8)'$')
                {
                    pUSART->RecvBuff[0] = R_data; 
					pUSART->RecvParse.R_state = 1;
					pUSART->RecvParse.sum =  R_data;
					return ;
                }		
                break;
            } 
        case 1:
            {
                pUSART->RecvBuff[1] = R_data; 		 // MASTER +SLAVER
				pUSART->RecvParse.R_state++; 
				pUSART->RecvParse.sum += R_data;
				return ;               
            }
       case 2:
            {
                pUSART->RecvBuff[2] = R_data; 		 // 功能碼字節(jié)
				pUSART->RecvParse.R_state++; 
				pUSART->RecvParse.sum += R_data;
				return ;               
            }
       case 3:
            {
                pUSART->RecvBuff[3] = R_data; 	// Rec Data  Length;  字節(jié)長度
				pUSART->RecvParse.R_state++; 
				pUSART->RecvParse.sum += R_data;
				pUSART->RecvParse.p_rec_num = 4;				  //接收數(shù)據(jù)緩沖器指針
				switch(pUSART->RecvBuff[2])
				{
				case 0x02:
				  pUSART->RecvParse.lenth_rec_num = 9;   //lenth_rec_num 接收長度-1
				  break;
				case 0x03:
				case 0x07:
				  pUSART->RecvParse.lenth_rec_num = 7; 	  //lenth_rec_num 接收長度-1
				  break;
				default:
				  pUSART->RecvParse.lenth_rec_num = 7+R_data; 	  //lenth_rec_num 接收長度-1
				  break;
				}
				return ;
            }
		case 4:
            {
                pUSART->RecvBuff[pUSART->RecvParse.p_rec_num++] = R_data;
							if(pUSART->RecvParse.p_rec_num >= pUSART->RecvParse.lenth_rec_num)
							{
								pUSART->RecvParse.R_state = 5; 	
							}
							pUSART->RecvParse.sum += R_data;
                return ;
            }			
        case 5: //接收數(shù)據(jù)
            { //	RecvBuff 	 接收的字符串緩沖器
            pUSART->RecvBuff[pUSART->RecvParse.p_rec_num++] = R_data;
            if(pUSART->RecvParse.sum == R_data) // 校驗(yàn)和通過
						{
							ReceivedComPortDataEvent(pUSART->RecvBuff,pUSART);
						}
						pUSART->RecvParse.R_state = 0;
            return ;
            }
        default:
            {
                pUSART->RecvParse.R_state = 0;
                return ;
            }
    }
    pUSART->RecvParse.R_state = 0;
    return ;
}

透傳發(fā)送任務(wù)處理:

/**
  * @brief  該函數(shù)必須1ms定時器中調(diào)用
  * @param   None
  * @retval : None
  */
void CommProtocol_task(void)
{
	if(N_1ms_EventUpData>0)
	{
	 u8 i;
	 N_1ms_EventUpData = 0;
	 for(i=0;i<SIZEREPEATARRAY;i++)
	 {
	 	if(RepeatArray[i].enable ==1)			  //發(fā)送使能
		{
			RepeatArray[i].n_1ms ++;			  //時間變量累加1ms
			if(RepeatArray[i].n_1ms>=RepeatArray[i].period_ms)	//時間到達(dá)發(fā)送定時周期
			{													
				RepeatArray[i].n_1ms = 0;						//時間變量復(fù)位,待發(fā)送數(shù)據(jù)幀進(jìn)入收發(fā)緩沖池
				SetSendBuffer(RepeatArray[i].pUSART,0xA2,				//串口,功能碼0XA2, 定時返回數(shù)據(jù)
						OwnAddr,RepeatArray[i].objAddr,					//發(fā)送者,接收者,發(fā)送者地址要根據(jù)程序作相應(yīng)變動
						RepeatArray[i].regaddr,RepeatArray[i].length,	//基地址,字節(jié)長度
						EE_ParaData.c+RepeatArray[i].regaddr,0);		//發(fā)送的起始數(shù)據(jù)地址指針,返回標(biāo)志
			}
		}
	 }	
	}
}

main函數(shù)

int main(void)
{	  
	LED_Init();		  				//初始化與LED連接的硬件接口
	CommProtocol_init();		    //通信協(xié)議緩沖隊(duì)列初始化,只是將數(shù)據(jù)幀緩沖隊(duì)列中的發(fā)送使能標(biāo)志清零
	XBeeUsart_init();				//初始化電臺的串口通信實(shí)例   
	UsartShow_init();				//GPS串口初始化
	SystemIni();
	SysTick_Config(SystemCoreClock / 1000);	//1ms
	SetContiuneDefaultData();  		// 初始化向地面站連續(xù)發(fā)送數(shù)據(jù)的地址空間
	while(1)
	{			   
		CommProtocol_task();
		USART_Send_Task(&XBee_Usart);			   	//向XBee串口發(fā)送任務(wù)	
		if(N_1ms_GPS_Watch>10)
		{
			N_1ms_GPS_Watch=0;
			unPkg_GPS_task();						//解析GPS數(shù)據(jù)任務(wù)
		}
		EE_ParaData.name.Ki = rand()%100+1;
	}
}

程序兼容STM32F1系列單片機(jī),移植或直接使用工程即可,F(xiàn)4系列只需修改串口部分。以上程序只是主要的處理過程,有一些函數(shù)未給出,都包含在工程中。
3、上位機(jī)
安裝:安裝很簡單,按照資料的安裝步驟一步步安裝即可,安裝成功后打開我們的文件夾,如圖箭頭1所指JS-GCS.exe就是我們的上位機(jī)程序。
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
數(shù)據(jù)添加:將程序中的需要透傳到上位機(jī)的數(shù)據(jù)添加到上圖箭頭2的飛鴻地址表中,如圖,注意地址與H地址的填寫,是根據(jù)字節(jié)長度來決定的。
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
添加完數(shù)據(jù)保存關(guān)閉,打開上位機(jī),就可以看到我們所需要的數(shù)據(jù),如圖
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
上位機(jī)連接透傳模塊前,需要把T30S用數(shù)據(jù)線連接到電腦,T22S與單片機(jī)串口連接,然后如圖選擇對應(yīng)的串口號,無線電變?yōu)榫G色表示連接成功。
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程

數(shù)據(jù)上傳:這里用一個GPS來測試,把GPS數(shù)據(jù)發(fā)送到上位機(jī)觀察,GPS解析如下,解析后賦值給透傳的結(jié)構(gòu)體,另外把生成一個0-100的隨機(jī)數(shù)賦值給Ki:

/************************
* 解包GPS數(shù)據(jù)
*
*************************/
void unPkg_GPS_task(void)
{
	char strtemp[50];
	static u8 t = 0;
	u8 i;
	u8 length;
	short tmp;

	if(New_GPS_Packet==1)
	{
		New_GPS_Packet = 0;
		N_1ms_GPS_Watch = 0;
	 //$GPGGA,050029.00,3202.2762,N,11848.9585,E,1,04,1.8,12.42,M,1.92,M,,*67
		if((gps_head[0]=='G')&&(gps_head[1]=='G')&&(gps_head[2]=='A')) //GGA
		{
			p_stdio = 0;
			if(getstr(Gpsstr)>0)
			{
				//EE_ParaData.name.GpsSol_iTow =Gpsstr[5]-'0'; 	
			}					
			if(getstr(strtemp)>0)
			{
				GPS_Latitude = getGPS_degree(strtemp);	
				EE_ParaData.name.GPS_avail = 1;
			}		
			else
			{
				EE_ParaData.name.GPS_avail =0;
			}		
			EE_ParaData.name.GPS_Latitude = GPS_Latitude;
			getstr(strtemp); // 'N'	            
			if(getstr(strtemp)>0)
				GPS_Longitude = getGPS_degree(strtemp);  
			EE_ParaData.name.GPS_Longitude = GPS_Longitude;
			getstr(strtemp); //'w'               
			if(getstr(strtemp)>0)
				GPS_avail = atoi(strtemp);     
			if(getstr(strtemp)>0)
				GPS_starnum = atoi(strtemp);  //12
			EE_ParaData.name.GPS_StarNum = GPS_starnum;
			if(getstr(strtemp)>0)
				GPSHdop = atof(strtemp);    //15	
			if(getstr(strtemp)>0)
				GPS_Altitude = atof(strtemp);  //13
			EE_ParaData.name.GPS_Altitude = GPS_Altitude;
		}			
		if((gps_head[0]=='G')&&(gps_head[1]=='S')&&(gps_head[2]=='A')) //GSA
		{
			p_stdio = 0;
			getstr(strtemp); // 模式
			getstr(strtemp); // 定位類型
			
			for(i=0;i<12;i++)
			{
				StarID[i] = 0xfe;
				if(getstr(strtemp)>0)
				StarID[i] = atoi(strtemp);
			}
			if(getstr(strtemp)>0)
				Pdop = atof(strtemp);    	
			if(getstr(strtemp)>0)
				Hdop = atof(strtemp);    	
			if(getstr(strtemp)>0)
				Vdop = atof(strtemp); 
		    EE_ParaData.name.GPS_Pdop = 	Pdop;
		}	
//#BESTVELA,COM1,0,75.0,FINESTEERING,729,18045.000,80000000,b748,1250;SOL_COMPUTED,DOPPLER_VELOCITY,0.150,0.000,0.0562,316.726716,0.1090,0.0*48f920de
		if((gps_head[0]=='S')&&(gps_head[1]=='T')&&(gps_head[2]=='V')&(gps_head[3]=='E')&&(gps_head[4]=='L'))
		{
			p_stdio = 0;
			t++;
			if(t>=5)
			{
			//	Beep();
				t = 0;
			}
			while(str[p_stdio++] !=';')	  // 不處理分號前數(shù)據(jù)
			{
				if(p_stdio>=150) return;
			}
			getstr(strtemp); // get 	"SOL_COMPUTED"
			getstr(strtemp); // get 	DOPPLER_VELOCITY
			getstr(strtemp);	// get latency
			getstr(strtemp); // get age

			if(getstr(strtemp)>0)
				GPSSpeed[0] = atof(strtemp);
			if(getstr(strtemp)>0)
				GPSSpeed[1] = atof(strtemp);
			if(getstr(strtemp)>0)
				GPSSpeed[2] = atof(strtemp); 
			tmp= (short)(100*GPSSpeed[0]*cos(GPSSpeed[1]*deg_rad));
		}
	}
	length = length;
}

數(shù)據(jù)觀測與上位機(jī)使用,可以看到GPS數(shù)據(jù)已經(jīng)上傳到上位機(jī),數(shù)據(jù)區(qū)與數(shù)據(jù)觀測區(qū)是一個實(shí)時動態(tài)的數(shù)據(jù),非常便于觀測
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程

數(shù)據(jù)修改,點(diǎn)擊1位置彈出edit修改框,在修改值中輸入我們需要的數(shù)值,例如這里輸入5,然后點(diǎn)擊保存
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
Kp變?yōu)?說明寫入成功
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
我們到單片機(jī)上看仿真的數(shù)據(jù)也已經(jīng)被修改
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程
四、IAP功能
IAP,全名為in applacation programming,即在應(yīng)用編程,與之相對應(yīng)的叫做isp,in system programming,在系統(tǒng)編程,兩者的不同是isp需要依靠燒寫器在單片機(jī)復(fù)位離線的情況下編程,需要人工的干預(yù),而iap則是用戶自己的程序在運(yùn)行過程中對User Flash 的部分區(qū)域進(jìn)行燒寫,目的是為了在產(chǎn)品發(fā)布后可以方便地通過預(yù)留的通信口對產(chǎn)品中的固件程序進(jìn)行更新升級。在工程應(yīng)用中經(jīng)常會出現(xiàn)我們的產(chǎn)品被安裝在某個特定的機(jī)械結(jié)構(gòu)中,更新程序的時候拆機(jī)很不方便,使用iap技術(shù)能很好地降低工作量。不懂原理的小伙伴自行搜索喲。如圖依次點(diǎn)擊,選擇bin文件,最后點(diǎn)擊編程即可燒錄到單片機(jī)。這部分程序后續(xù)會上傳,BOOT和APP文件。
STM32無線透傳、PID調(diào)試工具,stm32,嵌入式硬件,單片機(jī),51單片機(jī),物聯(lián)網(wǎng),mcu,硬件工程

五、總結(jié)
該上位機(jī)配合E22透傳模塊使用,傳輸距離遠(yuǎn),數(shù)據(jù)修改和觀測數(shù)據(jù)非常方便,對無人車、無人機(jī)PID調(diào)試可以大大提高效率,PID調(diào)試時可以實(shí)時觀測實(shí)際值與目標(biāo)值的變化來快速整定PID參數(shù),當(dāng)然對其他的調(diào)試如需遠(yuǎn)程觀察數(shù)據(jù)的項(xiàng)目來說也很方便。文章來源地址http://www.zghlxwxcb.cn/news/detail-848073.html

到了這里,關(guān)于STM32無線透傳、PID調(diào)試工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【嵌入式學(xué)習(xí)筆記】嵌入式基礎(chǔ)9——STM32啟動過程

    【嵌入式學(xué)習(xí)筆記】嵌入式基礎(chǔ)9——STM32啟動過程

    程序段交叉引用關(guān)系(Section Cross References):描述各文件之間函數(shù)調(diào)用關(guān)系 刪除映像未使用的程序段(Removing Unused input sections from the image):描述工程中未用到被刪除的冗余程序段(函數(shù)/數(shù)據(jù)) 映像符號表(Image Symbol Table):描述各符號(程序段/數(shù)據(jù))在存儲器中的地址、類

    2024年02月15日
    瀏覽(64)
  • 嵌入式 STM32 通訊協(xié)議--MODBUS

    嵌入式 STM32 通訊協(xié)議--MODBUS

    目錄 一、自定義通信協(xié)議 1、協(xié)議介紹 2、網(wǎng)絡(luò)協(xié)議 3、自定義的通信協(xié)議? 二、MODBUS通信協(xié)議 1、概述 2、MODBUS幀結(jié)構(gòu)? 協(xié)議描述 3、MODBUS數(shù)據(jù)模型 ? 4、MODBUS事務(wù)處理的定義 5、MODBUS功能碼? 6、功能碼定義? ?7、MODBUS數(shù)據(jù)鏈路層 8、MODBUS地址規(guī)則? 9、MODBUS幀描述 10、MODBUS兩種

    2024年02月11日
    瀏覽(40)
  • STM32的時鐘系統(tǒng)(嵌入式學(xué)習(xí))

    STM32的時鐘系統(tǒng)(嵌入式學(xué)習(xí))

    時鐘是指用于計量和同步時間的裝置或系統(tǒng)。時鐘是嵌入式系統(tǒng)的脈搏,處理器內(nèi)核在時鐘驅(qū)動下完成指令執(zhí)行,狀態(tài)變換等動作,外設(shè)部件在時鐘的驅(qū)動下完成各種工作,例如:串口數(shù)據(jù)的發(fā)送、AD轉(zhuǎn)換、定時器計數(shù)等。因此時鐘對于計算機(jī)系統(tǒng)是至關(guān)重要的,通常時鐘系

    2024年02月16日
    瀏覽(29)
  • 嵌入式——新建STM32工程(標(biāo)準(zhǔn)庫)

    嵌入式——新建STM32工程(標(biāo)準(zhǔn)庫)

    目錄 一、初識標(biāo)準(zhǔn)庫 1.CMSIS標(biāo)準(zhǔn)及庫層級關(guān)系 2.庫文件介紹 (1)Libraries文件夾 ①CMSIS文件夾 ②STM32F10x_Std_Periph_Driver文件夾 ③ 在用庫建立一個完整的工程時,還需要添加stm32f10x_it.c、 stm32f10x_conf.h 和 system_stm32f10x.c文件 (2)Project文件夾 (3)Utilities文件夾 3.庫各文件之間的關(guān)

    2024年01月23日
    瀏覽(91)
  • STM32串口通信詳解(嵌入式學(xué)習(xí))

    STM32串口通信詳解(嵌入式學(xué)習(xí))

    時鐘信號在電子領(lǐng)域中是指用于同步和定時電路操作的周期性信號。它在數(shù)字系統(tǒng)和通信系統(tǒng)中起著至關(guān)重要的作用,用于協(xié)調(diào)各個組件之間的數(shù)據(jù)傳輸和操作。 時鐘信號有以下幾個重要的方面: 頻率:時鐘信號的頻率是指單位時間內(nèi)信號周期的數(shù)量。它通常以赫茲(Hz)為

    2024年02月09日
    瀏覽(23)
  • stm32畢設(shè)分享 Stm32酒駕檢查系統(tǒng) - 單片機(jī) 嵌入式 物聯(lián)網(wǎng)

    stm32畢設(shè)分享 Stm32酒駕檢查系統(tǒng) - 單片機(jī) 嵌入式 物聯(lián)網(wǎng)

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點(diǎn),往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項(xiàng)目系統(tǒng)達(dá)不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項(xiàng)目,今天

    2024年01月23日
    瀏覽(92)
  • stm32畢設(shè)分享 stm32實(shí)現(xiàn)車牌識別系統(tǒng) -物聯(lián)網(wǎng) 嵌入式 單片機(jī)

    stm32畢設(shè)分享 stm32實(shí)現(xiàn)車牌識別系統(tǒng) -物聯(lián)網(wǎng) 嵌入式 單片機(jī)

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點(diǎn),往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項(xiàng)目系統(tǒng)達(dá)不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項(xiàng)目,今天

    2024年02月20日
    瀏覽(29)
  • STM32的中斷系統(tǒng)詳解(嵌入式學(xué)習(xí))

    STM32的中斷系統(tǒng)詳解(嵌入式學(xué)習(xí))

    中斷是處理器中的一種機(jī)制,用于響應(yīng)和處理突發(fā)事件或緊急事件。當(dāng)發(fā)生中斷時,當(dāng)前正在執(zhí)行的程序會被暫時中止,處理器會跳轉(zhuǎn)到中斷處理程序(也稱為中斷服務(wù)例程),對中斷事件進(jìn)行處理。處理完中斷后,處理器再返回到被中斷的程序繼續(xù)執(zhí)行。 中斷可以分為內(nèi)部

    2024年02月12日
    瀏覽(35)
  • 嵌入式C語言基礎(chǔ)(STM32)

    前言:一條混跡嵌入式3年的老咸魚,想到自己第一次接觸到stm32的庫函數(shù)時,c語言稀碎,痛不欲生的場景,該文章為萌新指條明路。 位操作在嵌入式中常用于直接對芯片的寄存器進(jìn)行操作,當(dāng)時作為初學(xué)者的我看著一臉懵逼,至于為什么這樣修改,下面好好分析一下。 ?一

    2024年02月02日
    瀏覽(22)
  • 嵌入式學(xué)習(xí)筆記——STM32的時鐘樹

    嵌入式學(xué)習(xí)筆記——STM32的時鐘樹

    在之前的所有代碼編程的過程中,似乎每次都繞不開一個叫做時鐘使能的東西,當(dāng)時我們是在數(shù)據(jù)手冊上直接看其掛接在那條時鐘線上的,那么STM32內(nèi)部的時鐘到底是怎么一個構(gòu)型呢,本文來對此做一個介紹。 老規(guī)矩,一個新的名詞出現(xiàn),首先需要搞清楚它是個啥,下圖中對

    2024年02月02日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包