《物联网综合应用开发实践》 代码答案 陈又圣_第1页
《物联网综合应用开发实践》 代码答案 陈又圣_第2页
《物联网综合应用开发实践》 代码答案 陈又圣_第3页
《物联网综合应用开发实践》 代码答案 陈又圣_第4页
《物联网综合应用开发实践》 代码答案 陈又圣_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目1STM32外设及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*/

在主函数while循环里补充有关蜂鸣器发声的代码:

/*Infinite1oop*/

/*岱ERCCIEBEGN旧LE*/

曲ile(l)

(

IBEEPCN;

鸟压laY.(2OO);

BEEP^CFE.

业斗—氏Iav(25OO);

/*岱ERCCIEEND旧LE*/

/*岱ER画BEGIN3*/

)

/*岱ERCCIEEND3*/

项目2数码管模拟显示温度

补充代码

一随堂笔记

展开项目代码,点开,在方框中添加头文件添

main.clml650.h,•••••••・・・・••••・・•・・・•・・・・・・・•・・・・・・・・・・・―・・

加数码管需要显示的数值(温度),例如36.5摄氏度对应数值为

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,在括号中添加敦码管的码木(包掂数字和所■

的宓%韶馅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呜器

补充代码

随富现

??门的旧"运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*/

在卜面方机位置补充:个检健的校耦代码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

项目OLED显7T\

补充代码

5s节现汕工: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*/

:招已大博通点。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

补克代朽

,、

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*/

点开bluetooth.c,在下面方框中添加初始化蓝牙模块、蓝牙发送

函数、DMA函数:

#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()//初始化蓝牙模块

(

〃包括开启空闲中断和开启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)

(

〃串口发送数据至蓝牙,蓝牙传输数据至手机

HAL_UART_Transmit(&UART_BLE,message,size,TIME_OUT_BL

E);

voidJudge_DMA_IDLE_BLE()〃处理空闲叶,断相关消息,将次函数放

于中断中或者回调函数中

(

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小

项目6信

补充代码

H一顷口代码••Imain.c近外眈学图堂摘.之嚼

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发达数据至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);

接点添加处理空闹中断Hl关淌史

voidJudge_DMA_IDLE_UART1()

{

if(_HAL_UART_GET_FLAG(&UART_UART1,

UART_FLAG_IDLE)?=RESET)〃…

{

_HAL_UART_CLEAR_IDLEFLAG(&UART_UART1);//'

闲中断标志位

HAL_UART_DMAStop(&UART_UARTl);〃::八‘.

UARTIreceivesize=BUFF_STZE_UART1_REC-

_HAL_DMA_GET_COUNTER(&UART_DMA_UART1_HANDLE);//HflCfflK

数据长度

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通

补充代码

脚裳毓

嘘斗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超时发送的最K时间: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的个、’

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到小¥七宗

阁通工uiui

voidUSARTInit()〃巾|

25

_HAL_UART_ENABLE_IT(&UART_U1,UART_IT_IDLE);//\.

♦国中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等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论