




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目1STM32外設(shè)及GPIO輸出控制
林克代碼
德干‘潞再曾"叫main.c,;g郵刷海inchide又Uh"
1
3靠窘病鼠孔
/*USERCODEENDHeader*/
1t
/*Includes
*/
#include"main-h"
#include"gpio.h"
1
/*Privateinc1udes
—*/
/*USERCODEBEGINIncludes*/
/*USERCODEENDIncludes*/
1
/*Privatetypedef
—
*/
/*USERCODEBEGINPTD*/
1
/*USERCODEENDPTD*/
/*Privatedefine
—
*/
/*USERCODEBEGINPD*/
//
415
&defineBEEPCN
且q>IQ—WitePin(C:PICB,GPII,(TIOP1N芷T)
扣efineBEEP_Q工
CPIQ-ffltePD/CPICRGPI掇?I,-RE聲
/*岱ERO立ENDPD*/
在主函數(shù)while循環(huán)里補(bǔ)充有關(guān)蜂鳴器發(fā)聲的代碼:
/*Infinite1oop*/
/*岱ERCCIEBEGN舊LE*/
曲ile(l)
(
IBEEPCN;
鳥壓laY.(2OO);
BEEP^CFE.
業(yè)斗—氏Iav(25OO);
/*岱ERCCIEEND舊LE*/
/*岱ER畫BEGIN3*/
)
/*岱ERCCIEEND3*/
項(xiàng)目2數(shù)碼管模擬顯示溫度
補(bǔ)充代碼
一隨堂筆記
展開項(xiàng)目代碼,點(diǎn)開,在方框中添加頭文件添
main.clml650.h,?????????????????????????????????????????―??
加數(shù)碼管需要顯示的數(shù)值(溫度),例如36.5攝氏度對(duì)應(yīng)數(shù)值為
365:
#includc"nnin.h"
#include"gpio.h"
令2喝
/*Privateincludes1l\
——*/1
/*USERCODEBEGINIncludes*/
#include,,tml650.h"
/*USERCODEENDIncludes*/
/*Privatetypcdcf
1
*/
/*USERCODEBEGINPTD*/1
/*USERCODEENDPTD*/
/*Privatedefine
冰/1
/*USERCODEBEGINPD*/
/*USERCODEENDPD*/
/*Privatemacro
*/1
/*USERCODEBEGINPM*/
/*USERCODEENDPM*/
/*Privatevariables
1
—*/
1
/*USERCODEBEGINPV*/
/*USERCODEENDPV*/
/*Privatefunctionprototypes
//
voidSystemC1ock_Config(void);
.73、、
/*USERCODEBEGINPFP*/
/*USERCODEENDPFP*/
/*Privateusercode
—*/
/*USERCODEBEGIN0*/
/*USERCODEEND0*/
/木木
*?briefTheapplicationentrypoint.
*(Sretvalini
*/
intmain(void)
(
/*USERCODEBEGINI*/
/*USERCODEENDI*/
/*MCU
Configuration
*/
/*Resetofal1peripherals,InitializestheFlash
interfaceandtheSystick-*/
HAL_Init();
/*USERCODEBEGINInit*/
/*USERCODEENDInil*/
/*Configurethesystemclock*/
SystemClock_Config();
/*USERCODEBEGINSyslnit*/
府47
/*USERCODEENDSyslnit*/
/*Initializeailconfiguredperipherals卡/
MX_GPIO_Init();
/*USERCODEBEGIN2*/
/*USERCODEEND2*/
/*Infiniteloop*/
/*USERCODEBEGINWHILE*/
Display_Init();//
while(1)
(
Dispiay_Temp(365,0);//
HAL_Delay(1000);//」,XffiKgJ
/*USERCODEENDWHILE*/
/*USERCODEBEGIN3*/
}
/*USERCODEEND3*/
tm165O.c,在括號(hào)中添加敦碼管的碼木(包掂數(shù)字和所■
的宓%韶餡5.以比二科蕾的“地址:
/*Infiniteloop*/
/*USERCODEBEGINWHILE*/
#include"tml650.h”
uint8_t
data_num[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0
x7f,0x6f};//
uint8_t
data_alphabctr6]={0x77,0x7c,0x39,0x5e,0x79,0x71);//a-f
L57
uint8_tdisplay_addrcss[4]={0x6c,0x6c,0x6a,0x68);//.
uint8_t
display_brightness[8]={0xl1,0x21,0x31,0x41,0x51,0x61,Ox
71,0x01};〃0-N岬1
Display_Send_Data工望TM1650
voidDisp1ay_Send_Data(uint8_taddress,uint8_tdata)
{
uint8_tbuff=0;
T1M_SCL_I;
TIM_SDA_1;
delay_us(1);
TIM_SDA_O;
delay_us(1);
TIM_SCL_O;
delay_us(2);
fbr(uint8_ti=0;i<8;i++)
{
buff=((address?(7-i))&0x01);//
if(buff==1)
TIM_SDA_1;
else
TIM_SDA_O;
TIM_SCL_O;
delay_us(1);
T1M_SCL_1;
delay_us(1);
TIM_SCL_O;
delay_us(1);
L67
TIM_SCL_1;
delay_us(2);
TIM_SCL_();
delay_us(2);
(br(uint8_ti=0;i<8;i++)
(
buff=((data?(7-i))&()xOI);
if(buff——1)
(
TIM_SDA_1;
}
else
(
TIM_SDA_();
}
TIM_SCL_0;
delay_us(1):
TIM_SCL_1;
delay_us(1):
TIM_SCL_();
delay_us(1):
}
TIM_SCL_1;
delay_us(1);
TIM_SCL_0;
delay_us(1);
TIM_SCL_1;
TIM_SDA_0;
delay_us(1);
TIM_SDA_1;
delay_us(1);
)
3A)C嗚器
補(bǔ)充代碼
隨富現(xiàn)
??門的舊"運(yùn)main.c1-''1~3I
/*USERCODEENDHeader*/
/*Includes
*/
#include"main.h"
#include"adc.h"
#includeHgpio.h"
/*Privateincludes
—
——*/
/*USERCODEBEGINIncludes*/
/*USERCODEENDIncludes*/
/*Privatetypedef
—
*/
/*USERCODEBEGINPTD*/
/*USERCODEENDPTD*/
—
/*Privatedefine
*/
/*USERCODEBEGINPD*/
//MMLKMl-3%ft£K20022002900|018002500
;,8、一,
#defineADC_KEY1_MAX200
#def'ineADCJCEY1_MIN0
#defincADC_KEY2_MAX2200
#defineADC_KEY2_MIN1800
#defineADC_KEY3_MAX2900
#defineADC_KEY3_MIN2500
1
1.BEEP_ON-BEEP_OFF'!.卜,
#dcfineBEEP_ON
HAL_GPIO_WriLePin(GPI0B,GPIO_PIN_1,GPIO_PIN_SET)//
1
#defineBEEP_OFF
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_l,GPIO_PIN_RESET)
//《」、叫—
/*USERCODEENDPD*/
/*Privatemacro
/*USERCODEBEGINPM*/
/*USERCODEENDPM*/
/*Privatevariables
/*USERCODEBEGINPV*/
/*USERCODEENDPV*/
/*Privatefunctionprototypes
voidSystcmClock_Config(void);
/*USERCODEBEGINPFP*/
207、
/*USERCODEENDPFP*/
在卜面方機(jī)位置補(bǔ)充:個(gè)檢健的校耦代碼i
HAL_Init();
/*USERCODEBEGINInit*/
/*USERCODEENDInit*/
/*Configurethesystemclock*/
SystcmCIock_Config();
/*USERCODEBEGINSyslnit*/
/*USERCODEENDSyslnit*/
/卡InitializealIconfiguredperipherals*/
MX_GPIO_Init();
MX_ADCl_Init();
/*USERCODEBEGIN2*/
uint!6_tadc_value=();
/*USERCODEEND2*/
/*Infiniteloop*/
/*USERCODEBEGINWHILE*/
BEEP.OFF;
while(1)
(
H?\L_/\DC_Start(&hadc1);//FADC":'
HAL_Delay(10);
adc_value=HAL_ADC_GetValue(&hadcI);//\ADC
if(adc_value>=ADC_KEY1_MIN&&adc_value<=
ADC_KEY1_MAX)//;:
{
BEEP_ON;
}
elseif(adc_value>=ADC_KEY2_MIN&&adc_vaIue<=
J107
.\DC_KEY2_MAX)//
(
BEEP_OFF;
}
elseif(adc_value>=ADC_KEY3_MIN&&adc_value<=
ADC_KEY3_MAX)//
{
BEEP_OFF;
}
/*USERCODEENDWHILE*/
/*USERCODEBEGIN3*/
}
/*USERCODEEND3*/
)
/*木
*@briefSystemClockConfiguration
*(SretvalNone
*/
voidSystemClock_Config(void)
{
RCC_OscInitTypeDefRCC_OscInitStruct={0};
RCC_ClkInitTypeDefRCC_ClkInitStruct={0};
RCC_PeriphCLKInitTypeDetPeriphClkTnit={0};
/**InitializcstheRCCOsci1latorsaccordingtothe
specifiedparameters
*intheRCC_0scInitTypeDefstructure.
*/RCC_0scInitStruct.OscillatorTypc
RCC_OSCILLATORTYPE_HSE;
RCC_0scInitStruct.HSEState=RCC_HSE_ON;
RCC_0scInitStruct.HSEPredivVa1ue=RCC_HSE_PREDIV_DIV1;
RCC_0scInitStruct.HSIStatc=RCC_HSI_ON;
RCC_0scInitStruct.PLL.PLLState=RCC_PLL_ON;
RCC_0scInitStruct.PLL.PLLSource=RCC_PLLSOURCE_HSE;
RCC_0scInitStruct.PLL.PLLMUL=RCC_PLL_MUL9;
if(HAL_RCC_OscConfig(&RCC_OscInitStruct)!=HAL_OK)
(
Error_Hand1er();
)
/**InitializestheCPU,AHBandAPBbusesclocks
*/RCC_CIklnitStruct.ClockTypc
RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
IRCC_CLOCKTYPE_PCLK1|RCC_CL0CKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSourcc=
RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.A4BCLKDivider=RCC_SYSCLK_DIV1;
RCC_CIkTnitStruct.APB1CLKDivider=RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider=RCC_HCLK_D1VI;
if(HAL_RCC_Cl(K:kConfig(&RCC_ClkInitStruct,
FLASH_LATENCY_2)!=HAL_OK)
(
Error_Hand1er();
)
PeriphClklnit.PeriphClockSelection=RCC_PERIPHCLK_ADC;
PcriphClklnit.AdcClockSclection=RCC_ADCPCLK2_DIV6:
if(HAL_RCCEx_PeriphCLKConfig(&PeriphCIklnit)!=
HAL_OK)
(
Error_Hand1er();
}
)
212
項(xiàng)目OLED顯7T\
補(bǔ)充代碼
5s節(jié)現(xiàn)汕工:main.c近/聊渦QlIClB?眺茹周
oled_iic.h,oledfbnt.h1
/*USERCODEENDHeader*/
/*Includes
1
*/1
#include"main.h"1
#include"i2c.h"1
#include"gpio-h',
/*Privateinc1udes
1
—*/
/*USERCODEBEGINIncludes*/1
#include"oled_iic_h”
#includc"olcdfbnt.h"1
/*USERCODEENDIncludes*/
/*Privatetypedef
1
*/
/木USERCODEBEGINPTD木/1
/*USERCODEENDPTD*/
/*Privatedefine
,,13、\
J
/*USERCODEBEGINPD*/
/*USERCODEENDPD*/
:招已大博通點(diǎn)。LED'IOLED;
intmain(void)
{
/*USERCODEBEGIN1*/
/*USERCODEENDI*/
/*MCU
Configuration
*/
/*Resetofal1peripherals,InitializestheFlash
interfaceandtheSystick.*/
HAL_Tnit();
/*USERCODEBEGINInit*/
/*USERCODEENDInk*/
/*Configurethesystemclock*/
SystemC1ock_Config();
/*USERCODEBEGINSysTnit*/
/*USERCODEENDSysTnit*/
/*Initializeallconfiguredperipherals*/
MX_GPIO_Init();
MX_I2C2_Init();
/*USERCODEBEGIN2*/
//OLED,化
OLED」nit。;
〃方/
?14小
OLED_CLS();
〃OLED防愛糜
OLED_ShowStr(0,0,(uint8_t*)"chenyousheng",2);
/*USERCODEEND2*/
/*Infiniteloop*/
/*USERCODEBEGINWHILE*/
whi1e(1)
(
/*USERCODEENDWHILE*/
/*USERCODEBEGIN3*/
)
/*USERCODEEND3*/
oledjic.c.OLED跣不丁,芯器
#includcnolcd_iic.h"
#include"oledfbnt-h”
#include"main.h"
#include"delay.hM
voidWriteCmd(uintX_t12C_Command)//
(
HAL_I2C_Mem_Write(&hi2c2,0LED056l_ADD,C0M,T2C_MEMADD
_SIZE_8BIT,&I2C_Command,1,100);
inlinevoidWriteDat(uint8_tI2C_Data)//
(
HAL_I2C_Mem_Write(&hi2c2,0LED0561_ADD,DAT,I2C_MEMADD
_SIZE_8BIT,&I2C_Data,1,100);
voidOLED_Init(void)
(
delayms(100);//
157
WriteCmd(OxAE);//displayoff
WriteCmd(0x20);//SetMemoryAddressingMode
WriteCmd(Ox10);//00,Horizonta1Addressing
Modc;()l,VerticalAddressingMode;10,PageAddressingMode
(RESET);11,Invalid
WriteCmd(OxbO);//SetPageStartAddressforPage
AddressingMode,0-7
WriteCmd(0xc8);//SetCOMOutputScanDirection
WriteCmd(OxOO);//setlowcoIumnaddress
WriteCmd(OxlO);//sethighcolumnaddress
WriteCmd(0x40);//―setstart1ineaddress
WriteCmd(0x81);//一setcontfastcontrolicgistcr
WriteCmd(0xfD;〃曜集隔曜OxOO-Oxff
WriteCmd(0xal);//―setsegmentre-map0to127
WritcCmd(0xa6);//―setnormaldisplay
WriteCmd(0xa8);//―setmultiplexratio(1I。64)
WritcCmd(0x3F);//
WriteCmd(0xa4);//0xa4,OutputfollowsRAM
content;0xa5,OutputignoresRAMcontent
WriteCmd(0xd3);//-setdisplayoffset
WriteCmd(0x00);//-notoffset
WriteCmd(0xd5);//--setdisplayclockdivide
ratio/oscillatorfrequency
WritcCmd(OxfB);//—setdivideratio
WriteCmd(0xd9);//--setpre-chargeperiod
WriteCmd(0x22);//
WriteCmd(Oxda);//--setcompinshardware
configuration
WriteCmd(0xl2);
WriteCmd(Oxdb);//―setvcomh
WritcCmd(0x20);//0x20,0.77xVcc
WriteCmd(OxSd);//--setDC-DCenable
WritcCmd(0xl4);//
WriteCmd(Oxaf);//--turnonoledpanel
)
;?理M遍ItOLED賓族消¥1%
voidOLED_SetPos(uint8_tx,uint8_ty)//
167
WriteCmd(OxbO+y);
WrileCmd(((x&0xfT))?4)|Ox10);
WriteCmd((x&OxOf)10x01);
)
void0LED_Fill(uint8_tfi1l_Data)//OLED<^JtWa
(
uint8_tm,n;
fbr(m=0;m<8;m++)
(
WritcCmd(OxbO+m);
WriteCmd(OxOO);
WritcCmd(OxlO);
f()r(n=0;n<128;n++)
{
WritcDat(fill_Data);
)
inlinevoid
(
OLED.Fi11(0x00);
}
//OLED庇*
voidOLED_ON(void)
(
WriteCmd(0X8D);
WriteCmd(0X14);
WriteCmd(OXAF);
)
//OLED'
voidOLED_OFF(void)
(
WriteCmd(0X8D);
WriteCmd(OXlO);
WriteCmd(OXAE);
□177、
目牙通
5
補(bǔ)克代朽
,、
7K蹲為'main.c11oled_iic.h
oledfont.hbluetooth.hstdio.hstring.h1
/*USERCODEENDHeader*/
/冰Includes
*/
#include,'main.hM
#include"adc.h"
#include"dma.h"
#include?,i2c.h"
#include"usart.h"
#include"gpio-h'1
/*Privateincludes-
——*/
/*USERCODEBEGINIncludes*/
#include"oled_iic-h11
#include"oledfont.h'1
#include"bluetooth.h"
#includc"stdio.h"
#include"string.h"1
/*USERCODEENDIncludes*/
/*Privatetypedef
___*/
182、
/*USERCODEBEGINPTD*/
/*USERCODEENDPTD*/
點(diǎn)開bluetooth.c,在下面方框中添加初始化藍(lán)牙模塊、藍(lán)牙發(fā)送
函數(shù)、DMA函數(shù):
#include"bluetooth.hM
#include"string.hM
uint8_tBLE_receivce_buff[BUFF_SIZE_BLE_REC];
uint16_tBLE_receive_size;
uint8_tBLE_send_buffLBUFF_SIZE_BLE_SENDJ;
uint16tBLEsendsize;
voidBLE_Init()//初始化藍(lán)牙模塊
(
〃包括開啟空閑中斷和開啟DMA接收
_HAL_UART_ENABLE_IT(&UART_BLE,UART_IT_IDLE);
HAL_UART_Receive_DMA(&UART_BLE,
(uint8_t*)BLE_receivce_buff,BUFF_SIZE_BLE_REC);
}
inlinevoidBLE_scnd(uin18_t*mcssagc,uin116_tsize)
(
〃串口發(fā)送數(shù)據(jù)至藍(lán)牙,藍(lán)牙傳輸數(shù)據(jù)至手機(jī)
HAL_UART_Transmit(&UART_BLE,message,size,TIME_OUT_BL
E);
voidJudge_DMA_IDLE_BLE()〃處理空閑葉,斷相關(guān)消息,將次函數(shù)放
于中斷中或者回調(diào)函數(shù)中
(
if(_HAL_UART_GET_FLAG(&UART_BLE,UART_FLAG_IDLE)!=
RESET)//判斷是否為空閑中斷
扣心19
HAL_UART_CLEAR」DLEFLAG(&UART_BLE);〃砒田爆
HAL_UART_DMAStop(&UART_BLE);//
BLE_receive_size=BUFF_SIZE_BLE_REC-
_HAL_DMA_GET_COUNTER(&UART_DMA_BLE_HANDLE);
//.,;」.
Deal_Data_BLE();
//:
HAL_UART_Receive_DMA(&UART_BLE,
(uin18_t*)BLE_receivce_buff,BUFF_SIZE_BLE_REC);
添加處理轂7接收的tt■的代科i
voidDeal_Data_BLE()
(
//:「一
BLE_send((uint8_t*)BLE_receivce_buff,BLE_receive_siz
220小
項(xiàng)目6信
補(bǔ)充代碼
H一頃口代碼??Imain.c近外眈學(xué)圖堂摘.之嚼
Chuankou.h
/*USERCODEENDHeader*/
/*Includes
*/
#include"main.h"
#include"dma_h”
#include"usart-h'1
#include"gpio.h',
/*Privateinc1udes
——*/
/*USERCODEBEGINIncludes*/
#include"Chuankou.h”
/*USERCODEENDIncludes*/
—
/*Privatetypedef
___木/
/*USERCODEBEGINPTD*/
/*USERCODEENDPTD*/
Chuankou.c宅*&*'粕i;UART1H:
E電JE配灼熱以及通過小I1發(fā)達(dá)數(shù)據(jù)至UARTl
#include,rChuankou.h"
uint8_tUART1_receivce_buff[BUFF_SIZE_UART1_REC];
217
uintI6_tUART1_receive_size;
uint8_tUARTI_send_buff[BUFF_SIZE_UART1_SEND];
uint16_tl'ARTl_send_size;
voidUARTl_Init()〃
{
/IMF第郎
_HAL_UART_ENABLE_IT(&UART_UART1,UART_IT_IDLE);
//'I;DMA::
HAL_UART_Receive_DMA(&UART_UART1,
(uin18_t*)UART1_reccivce_buff,BUFF_SIZE_UARTI_REC);
)
inlinevoidUART1_send(uint8_t*message,uin116_tsize)
(
//i:jUARTI*?jP.
HAL_UART_Transmit(&UART_UARTl,message,size,TIME_OUT
UARTI);
接點(diǎn)添加處理空鬧中斷Hl關(guān)淌史
voidJudge_DMA_IDLE_UART1()
{
if(_HAL_UART_GET_FLAG(&UART_UART1,
UART_FLAG_IDLE)?=RESET)〃…
{
_HAL_UART_CLEAR_IDLEFLAG(&UART_UART1);//'
閑中斷標(biāo)志位
HAL_UART_DMAStop(&UART_UARTl);〃::八‘.
UARTIreceivesize=BUFF_STZE_UART1_REC-
_HAL_DMA_GET_COUNTER(&UART_DMA_UART1_HANDLE);//HflCfflK
數(shù)據(jù)長(zhǎng)度
Deal_Data_UARTl();//4'、
HAL_UART_Receive_DMA(&UART_UARTl,
(uint8_t*)UART1_rcccivce_buff,BUFF_SIZE_UART1_REC);//
再次開啟接收
2221MA
voidDcal_Data_UARTl()
UART1_send(UARTl_receivce_buff,UARTl.receive_size);
//
目7WiFi通
補(bǔ)充代碼
腳裳毓
噓斗HD七&3ESP12S.h;:心uart.h
stdio.h■string.h
桁fndefINC_ESP12S_H_
#defineINC_ESP12S_H_1
#include"uart.h"
#include"stdio.h',
#include"string.h"
voidCreatTcpServer(constchar*Name,constchar*Pass,1
constchar*Port);
1
#endif
'uart.h,-1.二“i11usart.h,string.h
以由H的DMA潺觸,U2超時(shí)發(fā)送的最K時(shí)間:1
#ifndcfINC_UART_H_
#defineINC_UART_H_1
L237
1—rFl
#include"usart.h"
#include"string.h"
externDMA_Hand1eTypeDeT
hdma_usartl_rx;
externDMA_HandleTypeDef
hdma_usart2_rx;
#defineUART_Ulhuarti
#dcfincUART_U2huart2n
#defineUART_DMA_UI._HANDLE
hdma_usart1_rx
#defineUART_DMA_U2_HANDLE
hdma_usart2_rx
#defineTIME_OUT_UI100
#defineTIME_0UT_U2100〃U21sM蚓理
MKIKIH
#defineBUFF_SIZE_U1_REC64
#defineBUFF_SIZE_U2_REC64
ESP12S.C,。卜司斤■?加川<AT的個(gè)、’
ESP12芭指:工、WiFi、WiFiP心七響士
#include”ESP12S.h”
#include"main.h"
externuint8_tU2_receivce_buff[BUFF_SIZE_U1_REC];
voidCreatTcpServer(constchar*Name,constchar*Pass,
constchar*Port)
(
Liint8_lbuf[64];
U2_send((uint8_t*)"AT\r\n",4);
//J?ATft
24
whi1e(!strstr((constchar*)U2_receivce_buff,(const
char*),,0K,'));//,ESPUKKSOfl
HAL_Delay(5OO);
U2_send((uint8_t*),,AT+C\\rMODE=2\r\n",13);
while(!strstr((constchar*)U2_receivce_buff,(const
char*)“OK”));
HAL_Dclay(5OO);U2_scnd((uint8_t
*)"AT+RST\r\n'\8);
//
HAL_Delay(2000);
strcpy((char*)buf,“AT+CWSAP=\"”);
strcat((char*)buf.(constchar*)Name);
strcat((char*)buf,(const
strcat((char:!:)buf.(constchar*)Pass);
strcat((char*)buf,(constchar*)''\"」,3\r\n'');
HAL_Delay(500);
U2_send((uint8_t*)buf,strlen((constchar*)buf));
//ft"WIFI
memset(bufw0.sizeof(buf)):
whilc(!strstr((constchar*)U2_receivcc_buff,(const
char*),,0Kn));
HAL_Delay(5()0);
U2_send((uint8_t
*)"AT+CIPAP=\M192.168.1.1V,V192.168.I.1V,\"255.255.2
55.0\"\i-\n\
strlen("AT+CIPAP=\"192.168J.1\“,\"192.168.1.1\“,\"255.
,,,,
255.255.0\\r\n));//t-WiFiIP
whi1e(!strstr((constchar*)U2_receivce_buff,(const
char*)“0K”));
1uart.c到?。て咦?/p>
閣通工uiui
voidUSARTInit()〃巾|
25
_HAL_UART_ENABLE_IT(&UART_U1,UART_IT_IDLE);//\.
?國(guó)中IK
HAL_UART_Receive_DMA(&UART_Ul,
(uint8_t*)U1_receivce.buff,BUFF_SIZE_U1_REC);//DMA
//UART_DMA_U1.HANDLE.XferCp1tCallback=
DMA_Receive_Achieved;
_HAL_UART_ENABLE_IT(&UART_U2,UART_IT_IDLE);//!;,
HAL_UART_Receive_DMA(&UART_U2,
(uint8_t*)U2_receivce_buff,BUFF_SIZE_U2_REC);//DMA
IM_______________________________
//UART_DMA_UI.HANDLE.XfcrCp1tCa11back=
DMA_Receive_Achieved;
)
*1?'GIl<■'-...:?fH
*/
in1inovoidUl_scnd(uint8_t*message,uin116_tsize)
{
H/\L_UART_Transmit(&U.ART_Ul,message,size,TIME_OUT_U1)
)
in1inevoidU2_send(uint8_t*message,uint16_tsize)
(
HAL_UART_Transmit(&UART_U2,message,size,TIME_0UT_U2)
main.c,WiFi*;Pi率工
intmain(void)
(
/*USERCODEBEGIN1*/
267
/*USERCODEEND1*/
/*MCU
Configuration
/*Resetofal1peripherals,InitializestheFlash
interfaceandtheSystick.*/
HAL_Init();
/*USERCODEBEGINInit*/
/*USERCODEENDInit*/
/*Configurethesystemclock*/
SystemClock_Config();
/*USERCODEBEGINSyslnit*/
/*USERCODEENDSyslnit*/
/*Initializeallconfiguredperipherals*/
MX_GPIO_Tnit():
MX_DMA.init();
MX_USARTl_UART_Init();
MX_USART2_UART_Init();
/*USERCODEBEGIN2*/
/*USERCODEEND2*/
/*Infiniteloop*/
/*USERCODEBEGINWHILE*/
USART_Init();
HAL_Delay(1000);
CreatTcoServe""chenyousheng"."11111111","8080”);
whiIe(1)
277
/*USE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省樂山市重點(diǎn)中學(xué)2025年高考化學(xué)三模試卷含解析
- 湖南名師聯(lián)盟2025年高三第二次模擬考試化學(xué)試卷含解析
- 幼兒教育實(shí)訓(xùn)大廳
- 關(guān)注安全珍惜生命
- 河北省張家口市尚義縣第一中學(xué)2025屆高三考前熱身化學(xué)試卷含解析
- 學(xué)前教育專業(yè)繪本故事的重要性與應(yīng)用
- 福建省泉州市20023年第29屆WMO競(jìng)賽四年級(jí)數(shù)學(xué)下學(xué)期競(jìng)賽試卷
- 2024-2025學(xué)年河南省創(chuàng)新發(fā)展聯(lián)盟3月天一大聯(lián)考高一下學(xué)期階段性測(cè)試(三)數(shù)學(xué)試卷(含答案)
- 2025屆安徽省黃山市屯溪第二中學(xué)高三3月份第一次模擬考試化學(xué)試卷含解析
- 成人肺部感染的監(jiān)測(cè)與護(hù)理
- 渦街流量計(jì)選型參數(shù)表
- 實(shí)習(xí)證明模板(紅頭文件)
- 隱患排查獎(jiǎng)勵(lì)制度
- 廣東佛山生育保險(xiǎn)待遇申請(qǐng)表
- 電子課件《英語(第一冊(cè))(第三版)》A013820英語第一冊(cè)第三版Unit5
- IPQC制程檢驗(yàn)作業(yè)流程
- 《航空氣象》課件1.4 空氣的垂直運(yùn)動(dòng)
- XX小學(xué)體育期末考試方案
- 高鐵站智能化設(shè)計(jì)方案
- 35KV集電線路鐵塔組立專項(xiàng)方案
- 板的配筋面積表
評(píng)論
0/150
提交評(píng)論