资源简介
STM32F103移植上ucos-III并且使用串口AT指令控制ESP8266的代码,代码注释清晰,条例清楚
代码片段和文件信息
#include “includes.h“
extern OS_TCB StartUp_TCB; //任务堆栈
static OS_TCB WIFI_Send_TCB; //定义任务控制块
static CPU_STK WIFI_Send_Stk[TASK_WIFI_Send_STK_SIZE]; //定义任务堆栈
static OS_TCB WIFI_Recv_TCB; //定义任务控制块
static CPU_STK WIFI_Recv_Stk[TASK_WIFI_Recv_STK_SIZE]; //定义任务堆栈
static OS_TCB WIFI_Keep_TCB; //定义任务控制块
static CPU_STK WIFI_Keep_Stk[TASK_WIFI_Keep_STK_SIZE]; //定义任务堆栈
struct STRUCT_USARTx_Fram USART1_Fram_Record; //串口缓冲区定义
extern struct STRUCT_USARTx_Fram strEsp8266_Fram_Record;
//struct WIFIINFO wifi = {“ZUOAN““zuoan000““120.77.245.43“1883‘Y‘}; //定义WiFi信息
struct WIFIINFO wifi = {“ZUOAN““zuoan000““192.168.1.100“1883‘Y‘}; //定义WiFi信息
#define DISlinkED 0
#define linkED 1
static uint8_t WIFI_STA = DISlinkED; //定义一个表示WiFi状态的标志
static uint8_t WIFI_RSSI = 0; //定义一个表示WiFi链路质量的数值
//static OS_SEM sem_connect; //定义一个WiFi链接的信号量
//OSSemCreate((OS_SEM *)&sem_connect
// (CPU_CHAR *)“sem_connect“
// (OS_SEM_CTR)1
// (OS_ERR *)&err); //创建WiFi链接的信号量并初始化为二值信号量
// OSSemPost(&sem_connect2&err); //释放信号量
// /*1. 仅发送给等待该信号量的最高优先级任务
// 2. 发送给所有的等待该信号量的任务
// 3. 禁止任务调度*/
// OSSemPend(&sem_connect010&err); //申请信号量一直等待
// /*1.暂时无效直接挂起
// 2.无效直接返回 */
//static OS_MUTEX mutex_dev; //定义一个设备占用的互斥量
//OSMutexCreate((OS_MUTEX *)&mutex_dev
// (CPU_CHAR *)“mutex_dev“
// (OS_ERR *)&err); //创建一个设备占用的互斥量
//OSMutexPend(&mutex_dev0OS_OPT_PEND_BLOCKING0&err); //上锁阻塞OS_OPT_PEND_NON_BLOCKING无效直接返回
//OSMutexPost(&mutex_devOS_OPT_POST_NO_SCHED&err); //OS_OPT_POST_NONE 可以调度 OS_OPT_POST_NO_SCHED 禁止在本函数内执行任务调度
void Config_Module(void)
{
OS_ERR err;
OSTimeDlyHMSM(0 020OS_OPT_TIME_HMSM_STRICT&err); //延时2s非常重要等待模块准备好
WIFI_SetNoEcho(); //设置无回显
WIFI_SetMode(); //设置station模式
WIFI_SetConnetMode(); //设置单链接
WIFI_JoinAP(&wifi); //连接AP
OSTimeDlyHMSM(0 080OS_OPT_TIME_HMSM_STRICT&err); //延时8s非常重要等待AP连接好
WIFI_ConnectServer(&wifi); //连接服务器
switch(WIFI_TestConnect()) //检查连接
{
case ‘0‘: //wifi断开连接
case ‘5‘:
{
WIFI_STA = DISlinkED;
WIFI_RSSI = 0;
break;
}
case ‘2‘: //服务器断开连接
case ‘4‘:
{
WIFI_STA = DISlinkED; //wifi状态置为服务器未连接
WIFI_RSSI = WIFI_TestRSSIValue(&wifi); //获取链路质量
break;
}
case ‘3‘:
{
WIFI_STA = linkED;
WIFI_RSSI = WIFI_TestRSSIValue(&wifi); //获取链路质量
WIFI_SetSendMode(); //设置透传模式
WIFI_Enter_Trans(); //进入透传模式
strEsp8266_Fram_Record.InfBit.FramLength = 0;//清理串口以便接收线程使用
memset(strEsp8266_Fram_Record.Data_RX_BUF‘\0‘sizeof(strEsp8266_Fram_Record.Data_RX_BUF));
break;
}
}
}
void Task_Start(void *p_arg)
{
OS_ERR err;
(void)p_arg; // ‘p_arg‘ 并没有用到,防止编译器提示警告
Config_Module(); //设置模块相关工作模式
//这里可以对
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7335 2017-03-22 16:54 stm32_ucos_esp\APP\app.c
文件 729 2017-03-21 23:30 stm32_ucos_esp\APP\app.h
文件 4754 2011-08-01 16:50 stm32_ucos_esp\APP\app_cfg.h
文件 7627 2017-03-21 19:38 stm32_ucos_esp\APP\os_cfg.h
文件 4935 2011-08-04 10:02 stm32_ucos_esp\APP\os_cfg_app.h
文件 902 2017-03-21 19:10 stm32_ucos_esp\BSP\bsp.c
文件 105 2012-10-16 13:52 stm32_ucos_esp\BSP\bsp.h
文件 7922 2017-03-03 10:15 stm32_ucos_esp\BSP\usart.c
文件 365 2017-03-03 10:15 stm32_ucos_esp\BSP\usart.h
文件 5905 2017-03-22 15:55 stm32_ucos_esp\BSP\wifi.c
文件 1990 2017-03-22 15:20 stm32_ucos_esp\BSP\wifi.h
文件 17273 2010-06-07 10:25 stm32_ucos_esp\CMSIS\core_cm3.c
文件 85714 2011-02-09 14:59 stm32_ucos_esp\CMSIS\core_cm3.h
文件 15784 2014-09-26 15:03 stm32_ucos_esp\CMSIS\startup\startup_stm32f10x_cl.s
文件 15521 2012-11-06 16:45 stm32_ucos_esp\CMSIS\startup\startup_stm32f10x_hd.s
文件 15692 2011-03-10 10:52 stm32_ucos_esp\CMSIS\startup\startup_stm32f10x_hd_vl.s
文件 12376 2011-03-10 10:52 stm32_ucos_esp\CMSIS\startup\startup_stm32f10x_ld.s
文件 13656 2011-03-10 10:52 stm32_ucos_esp\CMSIS\startup\startup_stm32f10x_ld_vl.s
文件 12765 2011-03-10 10:52 stm32_ucos_esp\CMSIS\startup\startup_stm32f10x_md.s
文件 14073 2011-03-10 10:51 stm32_ucos_esp\CMSIS\startup\startup_stm32f10x_md_vl.s
文件 15955 2011-03-10 10:51 stm32_ucos_esp\CMSIS\startup\startup_stm32f10x_xl.s
文件 633941 2011-03-10 10:51 stm32_ucos_esp\CMSIS\stm32f10x.h
文件 36557 2011-03-10 10:51 stm32_ucos_esp\CMSIS\system_stm32f10x.c
文件 2085 2011-03-10 10:51 stm32_ucos_esp\CMSIS\system_stm32f10x.h
文件 8982 2011-03-10 10:47 stm32_ucos_esp\FWlib\inc\misc.h
文件 21690 2011-03-10 10:47 stm32_ucos_esp\FWlib\inc\stm32f10x_adc.h
文件 7555 2011-03-10 10:47 stm32_ucos_esp\FWlib\inc\stm32f10x_bkp.h
文件 27559 2011-03-10 10:47 stm32_ucos_esp\FWlib\inc\stm32f10x_can.h
文件 6573 2011-03-10 10:47 stm32_ucos_esp\FWlib\inc\stm32f10x_cec.h
文件 2162 2011-03-10 10:47 stm32_ucos_esp\FWlib\inc\stm32f10x_crc.h
............此处省略331个文件信息
- 上一篇:STM32 旋转倒立摆程序
- 下一篇:gao3431128_2371510.zip
相关资源
- 基于STM32F4x9的LCD显示
- VS1053B编解码器的VDR分布式声音采集卡
- stm32的DAC播放音乐文件
- STM32+TMC5160代码电路图.rar
- 基于STM32的深海钻机甲板控制系统
- stm32f103.SchDoc
- STM32F103 USART+DMA
- DMA+stm32 407.zip
- 4_USART串口通信(空闲中断+DMA.zip
- stm32f105-usart-DMA收发demo
- STM32F042F6P6 Uart12DMA;发送中断接收
- 基于STM32的嵌入式双目图像采集系统设
- 基于STM32F103C8单片机的晶联讯电子JL
- 基于STM32的温湿度检测系统实现
- stm32F4+w5300
- 14284969_《STM32单片机应用与全案例实践
-
ST-li
nk-V2的SWD仿真使用方法.docx - 安富莱STM32开发板资料
- STM32F103实现OV7670摄像头显示
- STM32F207学习板例程
- STM32F103VCT6TR - High-density performance lin
- STM32 SRAM启动的 KeiL 配置
- STM32的IAP-Bootloader程序
- STM32例程之Bootloader
- stm32f103 虚拟U盘,调试成功的
- 基于stm32F103vct6的SD卡FATFS文件系统移植
- STM32F030从机中断接收的iic代码,附带
- FreeModbus_Slave+STM32F407+USART2代码亲测可
- STM32+1602液晶proteus仿真.zip
- STM32循迹小车
评论
共有 条评论