《物聯(lián)網(wǎng)綜合應(yīng)用開發(fā)實(shí)踐》 代碼答案 陳又圣_第1頁(yè)
《物聯(lián)網(wǎng)綜合應(yīng)用開發(fā)實(shí)踐》 代碼答案 陳又圣_第2頁(yè)
《物聯(lián)網(wǎng)綜合應(yīng)用開發(fā)實(shí)踐》 代碼答案 陳又圣_第3頁(yè)
《物聯(lián)網(wǎng)綜合應(yīng)用開發(fā)實(shí)踐》 代碼答案 陳又圣_第4頁(yè)
《物聯(lián)網(wǎng)綜合應(yīng)用開發(fā)實(shí)踐》 代碼答案 陳又圣_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論