資源簡介
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
評論
共有 條評論