diff --git a/HARDWARE/ADC/adc.c b/HARDWARE/ADC/adc.c index 37298208e52c924ece3923b627458a390dd1f50e..f3f86be26faaf5993a0065d659daf2746e6e8493 100644 --- a/HARDWARE/ADC/adc.c +++ b/HARDWARE/ADC/adc.c @@ -5,9 +5,11 @@ #include "led.h" #include "valve.h" #include "string.h" +#include "ano_protocol.h" + #define ADC_CHANNELS_NUM 7 static uint16_t pres_get_t=40; -static uint16_t AIR_DELDA_P = 370; +static int16_t AIR_DELDA_P = -370; static uint16_t x_data[ADC_CHANNELS_NUM]={0,0,0,0,0,0,0}; //自然无吸附力时各吸盘压力基础值 SHELL_EXPORT_VAR(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_VAR_SHORT), @@ -15,8 +17,8 @@ adx, &AIR_DELDA_P, //ADC初始化,使用规则通道 /* PA4 --- ADC1_CH4 2号足 - PA5 ---- ADC1_CH5 4号足 - PA6 ADC1_CH6 3号足 + PA6 ---- ADC1_CH6 4号足 + PA5 ADC1_CH5 3号足 PB0 ----- ADC1_CH8 6号足 PB1 ADC1_CH9 5号足 @@ -67,8 +69,8 @@ void Adc_Init(void) //按如下的顺序添加通道次序 下面函数得到的结果就依次是按顺序各吸盘的气压值 ADC_RegularChannelConfig(ADC1,ADC_Channel_4,2,ADC_SampleTime_144Cycles); - ADC_RegularChannelConfig(ADC1,ADC_Channel_5,4,ADC_SampleTime_144Cycles); ADC_RegularChannelConfig(ADC1,ADC_Channel_6,3,ADC_SampleTime_144Cycles); + ADC_RegularChannelConfig(ADC1,ADC_Channel_5,4,ADC_SampleTime_144Cycles); ADC_RegularChannelConfig(ADC1,ADC_Channel_8,6,ADC_SampleTime_144Cycles); ADC_RegularChannelConfig(ADC1,ADC_Channel_9,5,ADC_SampleTime_144Cycles); ADC_RegularChannelConfig(ADC1,ADC_Channel_11,1,ADC_SampleTime_144Cycles); @@ -197,33 +199,37 @@ void airPress_LED_task(void* pp) vTaskDelay(pres_get_t); continue; } - if(x_data[0]- data[0]> AIR_DELDA_P+offset[0]){ + + send_adc_val(data); + vTaskDelay(5); + + if(data[0]-x_data[0] < AIR_DELDA_P+offset[0]){ AirLED1=1; //压力差值达标说明负压足够 亮灯 }else{ AirLED1=0; //不亮灯 } - if(x_data[1] - data[1]> AIR_DELDA_P+offset[1]){ + if(data[1]-x_data[1] < AIR_DELDA_P+offset[1]){ AirLED2=1; }else{ AirLED2=0; } - if(x_data[2] -data[2]> AIR_DELDA_P+offset[2]){ + if(data[2]-x_data[2] < AIR_DELDA_P+offset[2]){ AirLED3=1; }else{ AirLED3=0; } - if(x_data[3] -data[3]> AIR_DELDA_P+offset[3]){ + if(data[3]-x_data[3] < AIR_DELDA_P+offset[3]){ AirLED4=1; }else{ AirLED4=0; } - if(x_data[4] -data[4]> AIR_DELDA_P+offset[4]){ + if(data[4]-x_data[4] < AIR_DELDA_P+offset[4]){ AirLED5=1; }else{ AirLED5=0; } - if(x_data[5] -data[5]> AIR_DELDA_P+offset[5]){ + if(data[5]-x_data[5] < AIR_DELDA_P+offset[5]){ AirLED6=1; }else{ AirLED6=0; @@ -237,8 +243,12 @@ void airPress_LED_task(void* pp) int manual_update_xdata(int sample_num, int doWrite) { uint16_t data[ADC_CHANNELS_NUM]; - VALVE_FIXED=1; //关断气阀 - VALVE_FLOAT=1; + VALVE_FIXED1=1; //关断气阀 + VALVE_FIXED3=1; + VALVE_FIXED5=1; + VALVE_FLOAT2=1; + VALVE_FLOAT4=1; + VALVE_FLOAT6=1; vTaskDelay(600); for(int i=0; i +#include "system_stm32f4xx.h" +#include +#include "sys.h" +#include "usart.h" + +/*FreeRTOS相关头文件*/ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" +#include "timers.h" +#include "semphr.h" + + +/*************************************************************** +* 功能码 ,匿名协议V7版 * +****************************************************************/ +typedef enum +{ +/**************************飞控相关信息类********************************/ + UP_Check = 0x00, + +/**************************飞控相关信息类********************************/ + UP_AccGry = 0x01, //惯性传感器数据 + UP_Mag = 0x02, //罗盘、气压、温度传感器 + UP_StateEulerAngles = 0x03, //欧拉角 + UP_FourElements = 0x04, //四元素 + UP_Alt = 0x05, //深度数据 + UP_Fly_mode = 0x06, //飞控运行模式 + UP_Speed = 0x07, //飞行速度数据 + UP_TargetAngles = 0x0A, //目标姿态数据 + UP_TargetSpeed = 0x0B, //目标速度数据 + UP_LogPrintf = 0xA0, //LOG信息输出——字符串 + UP_LogPrintfNum = 0xA1, //LOG信息输出——字符串+数字 + +/**************************飞控控制量输出类******************************/ + UP_PWM = 0x20, //PWM控制量 + UP_control_angles = 0x21, //姿态控制量 + +/*************************飞控接收控制指令类*****************************/ + UP_cal_rocker = 0x40, //遥控器摇杆数据 + UP_cal_button = 0x41, //遥控器按键数据 + +/****************************参数读写类帧********************************/ + UP_read_param = 0xE1, //参数读取命令 + UP_write_param = 0xE2, //参数写入、参数读取返回 + send_param_switch = 0xF0, //参数返回 + UP_Light_PWM = 0xF1, //灯光PWM值 + + send_adc = 0x51, //发送压力传感器值 + manual_adc = 0x61 , //发送基础压力值 +/****************************灵活格式帧********************************/ +/*功能码范围:0xF1-0xFA*/ + +}MessageID; + +typedef struct +{ + uint8_t head; //帧头 + uint8_t d_addr; //目标地址 + uint8_t id; //功能码 + uint8_t datalen; //数据长度 + uint8_t data[20]; //数据段 + uint8_t check_sum; //和校验 +}ANO_t;//communication protocols //匿名协议结构体 + + +#define BYTE0(dwTemp) (*((char *)(&dwTemp) )) +#define BYTE1(dwTemp) (*((char *)(&dwTemp) + 1)) +#define BYTE2(dwTemp) (*((char *)(&dwTemp) + 2)) +#define BYTE3(dwTemp) (*((char *)(&dwTemp) + 3)) + + +void RX_Queue_init(void); +void usart_send_packet(const ANO_t *ano); +void send_adc_val(const uint16_t *adc); +void send_manual_adc(const uint16_t *adc); + +#endif diff --git a/HARDWARE/ANO/usartlink.c b/HARDWARE/ANO/usartlink.c new file mode 100644 index 0000000000000000000000000000000000000000..b51bef90aabbf63740e3f91d8bd707c3c370c169 --- /dev/null +++ b/HARDWARE/ANO/usartlink.c @@ -0,0 +1,158 @@ +#include +#include "usartlink.h" +#include "ano_protocol.h" +#include "usart4.h" + +//不同情况下使用哪个串口进行调试 +#define USART1_TX 0 +#define USART4_TX 0 +#define USART4_TX_dma 1 + + +static bool s_str2hex_state = false; +extern xQueueHandle PacketTx_2_UsartTxQueue; + + +static bool isUartDmaInitialized; +static DMA_InitTypeDef DMA_InitStructure; + + +/****************************dma传输配置开始*********************/ +/*通过DMA发送原始数据*/ +void uartslkSendDataDmaBlocking(uint32_t size, uint8_t* data) +{ + if (isUartDmaInitialized) + { + while(DMA_GetCmdStatus(UARTSLK_DMA_STREAM) != DISABLE); /*等待DMA空闲*/ + /* //memcpy(dmaBuffer, data, size); 复制数据到DMA缓冲区 */ + DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)data; + DMA_InitStructure.DMA_BufferSize = size; + + DMA_Init(UARTSLK_DMA_STREAM, &DMA_InitStructure); /*重新初始化DMA数据流*/ + DMA_ITConfig(UARTSLK_DMA_STREAM, DMA_IT_TC, ENABLE);/*开启DMA传输完成中断*/ + USART_DMACmd(UARTSLK_TYPE, USART_DMAReq_Tx, ENABLE);/* 使能USART DMA TX请求 */ + USART_ClearFlag(UARTSLK_TYPE, USART_FLAG_TC); /* 清除传输完成中断标志位 */ + DMA_Cmd(UARTSLK_DMA_STREAM, ENABLE); /* 使能DMA USART TX数据流 */ + + } +} + + +void uartslkDmaIsr(void) +{ + + DMA_ITConfig(UARTSLK_DMA_STREAM, DMA_IT_TC, DISABLE); + DMA_ClearITPendingBit(UARTSLK_DMA_STREAM, UARTSLK_DMA_IT_TCIF); + USART_DMACmd(UARTSLK_TYPE, USART_DMAReq_Tx, DISABLE); + DMA_Cmd(UARTSLK_DMA_STREAM, DISABLE); + +// remainingDMACount = 0; + +} + +/*配置串口DMA*/ +void uartslkDmaInit(void) +{ + NVIC_InitTypeDef NVIC_InitStructure; + + RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA1, ENABLE); + + /* USART TX DMA 通道配置*/ + DMA_InitStructure.DMA_PeripheralBaseAddr = (u32) (&(UART4->DR)); + // DMA_InitStructure.DMA_Memory0BaseAddr = (u32)dmaBuffer; + DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; + DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; + DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; + DMA_InitStructure.DMA_BufferSize = 0; + DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; + DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; + DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; + DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; + DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; + DMA_InitStructure.DMA_Priority = DMA_Priority_High; + DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; + DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_1QuarterFull ; + DMA_InitStructure.DMA_Channel = DMA_Channel_4; + + NVIC_InitStructure.NVIC_IRQChannel = DMA1_Stream4_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 7; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + isUartDmaInitialized = true; +} + +void __attribute__((used)) DMA1_Stream4_IRQHandler(void) +{ + uartslkDmaIsr(); +} + +/****************************dma传输配置结束*********************/ +/*---------------------------End Line-------------------------------------*/ + + + +/* +********************************************************************************************************* +* 函数名称: UsartTxTask +* 功能说明: 创建串口发送任务 +* 输入参数:无 +* 返回参数: 无 +********************************************************************************************************* +*/ +void usart_tx_task(void *param) +{ + RX_Queue_init(); + uartslkDmaInit(); + ANO_t data_packet;//是ANO_t类型的结构体变量 + + uint8_t crcIdx; + while(1) + { + + xQueueReceive(PacketTx_2_UsartTxQueue, &data_packet, portMAX_DELAY);//任务接收消息并删除消息 + + crcIdx = data_packet.datalen; + data_packet.data[crcIdx] = data_packet.check_sum; //将校验数字 前移 + data_packet.data[crcIdx+1] = 0xfe; + data_packet.data[crcIdx+2] = 0xff; //每个发送帧最后加两个标识字符 + + uartslkSendDataDmaBlocking(crcIdx +7, (uint8_t*)&data_packet); + vTaskDelay(5); + + } +} + +/* +********************************************************************************************************* +* 函数名称: Str2Hex +* 功能说明: 将字符串转为为对应的16进制。如AABB==>0xAA 0XBB +* 输入参数:pbDest:转换后的16进制数据存储地;pbSrc:字符串数据长度;nLen +* 返回参数: 无 +********************************************************************************************************* +*/ +void string_2_hex(unsigned char* pbDest, unsigned char* pbSrc, int nLen) +{ + char h1, h2; + unsigned char s1, s2; + int i; + + for (i = 0; i < nLen / 2; i++) + { + h1 = pbSrc[2 * i]; + h2 = pbSrc[2 * i + 1]; + + s1 = toupper(h1) - 0x30; //十六进制 0x30,dec十进制48, 图形 0 + if (s1 > 9) + s1 -= 7; + + s2 = toupper(h2) - 0x30; + if (s2 > 9) + s2 -= 7; + + pbDest[i] = s1 * 16 + s2; + } + s_str2hex_state = true; +} + diff --git a/HARDWARE/ANO/usartlink.h b/HARDWARE/ANO/usartlink.h new file mode 100644 index 0000000000000000000000000000000000000000..95e253d7c30a16a333dfa1f9be484e6d2720cf47 --- /dev/null +++ b/HARDWARE/ANO/usartlink.h @@ -0,0 +1,35 @@ +#ifndef __USARTLINK_H +#define __USARTLINK_H + +#include +#include +#include +#include +#include + +/*FreeRTOS相关头文件*/ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" +#include "semphr.h" + +#define UARTSLK_TYPE UART4 + +#define UARTSLK_DMA_IRQ DMA1_Stream4_IRQn +#define UARTSLK_DMA_IT_TC DMA_IT_TC +#define UARTSLK_DMA_STREAM DMA1_Stream4 +#define UARTSLK_DMA_CH DMA_Channel_4 +#define UARTSLK_DMA_IT_TCIF DMA_IT_TCIF4 + +void usart_tx_task(void *param); +void string_2_hex(unsigned char* pbDest, unsigned char* pbSrc, int nLen); +void uartslkSendDataDmaBlocking(uint32_t size, uint8_t* data); +void uartslkDmaIsr(void); +void uartslkDmaInit(void); +void __attribute__((used)) DMA1_Stream6_IRQHandler(void); + + + +#endif + + diff --git a/HARDWARE/LED/led.c b/HARDWARE/LED/led.c index 39f4b5546cb551aa623faa58e3739e37106d5b6b..0f635aabc7de41473755eb234ea1f455dce12566 100644 --- a/HARDWARE/LED/led.c +++ b/HARDWARE/LED/led.c @@ -9,7 +9,7 @@ void LED_Init(void) GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); //使能AHB1时钟 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_10| GPIO_Pin_1|GPIO_Pin_3; //初始化F9和F10为推挽输出 + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_10; //初始化F9和F10为推挽输出 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //普通输出模式 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //100MHz @@ -19,7 +19,6 @@ void LED_Init(void) GPIO_SetBits(GPIOF,GPIO_Pin_9 | GPIO_Pin_10);//GPIOF9,F10设置高,灯灭 - GPIO_ResetBits(GPIOF,GPIO_Pin_1|GPIO_Pin_3); //电磁阀控制线输出低。常通打开阀门 } /*** @@ -48,7 +47,7 @@ void valve_gpio_init(void) GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); //使能AHB1时钟 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_12; + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //普通输出模式 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //100MHz @@ -63,12 +62,28 @@ int test_valve(int who, char *ch) extern int shell_test_adc(int num,int delay); if(1==who){ - VALVE_FIXED = !VALVE_FIXED; - VALVE_FIXED==1 ? printf("固足吸盘气阀 断\r\n") : printf("固足吸盘气阀通\r\n"); + VALVE_FIXED1 = !VALVE_FIXED1; + VALVE_FIXED1==1 ? printf("固足1吸盘气阀 断\r\n") : printf("固足1吸盘气阀通\r\n"); } - else if(2==who){ - VALVE_FLOAT = !VALVE_FLOAT; - VALVE_FLOAT==1? printf("浮足吸盘气阀 断\r\n") : printf("浮足吸盘气阀通\r\n"); + if(2==who){ + VALVE_FLOAT2 = !VALVE_FLOAT2; + VALVE_FLOAT2==1? printf("浮足2吸盘气阀 断\r\n") : printf("浮足2吸盘气阀通\r\n"); + } + if(4==who){ + VALVE_FLOAT4 = !VALVE_FLOAT4; + VALVE_FLOAT4==1? printf("浮足4吸盘气阀 断\r\n") : printf("浮足4吸盘气阀通\r\n"); + } + if(3==who){ + VALVE_FIXED3 = !VALVE_FIXED3; + VALVE_FIXED3==1? printf("固足3吸盘气阀 断\r\n") : printf("固足3吸盘气阀通\r\n"); + } + if(5==who){ + VALVE_FIXED5 = !VALVE_FIXED5; + VALVE_FIXED5==1? printf("固足5吸盘气阀 断\r\n") : printf("固足5吸盘气阀通\r\n"); + } + if(6==who){ + VALVE_FLOAT6 = !VALVE_FLOAT6; + VALVE_FLOAT6==1? printf("浮足6吸盘气阀 断\r\n") : printf("浮足6吸盘气阀通\r\n"); } if('y'== *ch){ diff --git a/HARDWARE/LED/led.h b/HARDWARE/LED/led.h index b4fc27dc2eb1ae079eaf114b7fb439536df55ce4..442d9b9b7c86f1f6615ef91a1c103be28cc6da53 100644 --- a/HARDWARE/LED/led.h +++ b/HARDWARE/LED/led.h @@ -9,8 +9,8 @@ #define AirLED1 PEout(10) #define AirLED2 PEout(12) -#define AirLED3 PEout(13) -#define AirLED4 PEout(9) +#define AirLED3 PEout(9) +#define AirLED4 PEout(13) #define AirLED5 PEout(14) #define AirLED6 PEout(11) diff --git a/HARDWARE/LED/valve.h b/HARDWARE/LED/valve.h index 26fd590d7f96b1bae86bd241cb4beebdb63ce385..3e87bbcee70be99e3dbb13b2c03256488b269833 100755 --- a/HARDWARE/LED/valve.h +++ b/HARDWARE/LED/valve.h @@ -3,11 +3,21 @@ #include "sys.h" -#define VALVE_FIXED PFout(1) //1-4-5足 -#define VALVE_FLOAT PFout(3) //2-3-6足 活动足 +#define VALVE_FIXED1 PFout(0) //1-4-5足 +#define VALVE_FIXED3 PFout(2) +#define VALVE_FIXED5 PFout(4) -#define VALVE_FIXED_LEGS_SOFT PFout(1) -#define VALVE_FLOAT_LEGS_SOFT PFout(3) +#define VALVE_FLOAT2 PFout(1) //2-3-6足 活动足 +#define VALVE_FLOAT4 PFout(3) +#define VALVE_FLOAT6 PFout(12) + +#define VALVE_FIXED1_LEGS_SOFT PFout(0) +#define VALVE_FIXED3_LEGS_SOFT PFout(2) +#define VALVE_FIXED5_LEGS_SOFT PFout(4) + +#define VALVE_FLOAT2_LEGS_SOFT PFout(1) +#define VALVE_FLOAT4_LEGS_SOFT PFout(3) +#define VALVE_FLOAT6_LEGS_SOFT PFout(12) void valve_gpio_init(void); diff --git a/LobotSerialServo/LobotSerialServo.c b/LobotSerialServo/LobotSerialServo.c index c39a940e4c8fb3e59aa2efacbf35f6933689b0ee..8194961a7d80a9290d63123cd2c89fb7fcc9cdad 100755 --- a/LobotSerialServo/LobotSerialServo.c +++ b/LobotSerialServo/LobotSerialServo.c @@ -483,7 +483,8 @@ void usart2_lobot_deamon_task(void* pp) dojData[idx].flag |= FLAG_WRITE_CMD; } taskEXIT_CRITICAL(); - VALVE_FIXED=0; VALVE_FLOAT=0; //打开气阀准备吸附 + VALVE_FIXED1=0;VALVE_FIXED3=0;VALVE_FIXED5=0; + VALVE_FLOAT2=0;VALVE_FLOAT4=0;VALVE_FLOAT6=0; //打开气阀准备吸附 doj[0]=3; target[0]=750; doj[1]=7; target[1]=750; doj[2]=11; target[2]=750; diff --git a/SYSTEM/usart/usart4.c b/SYSTEM/usart/usart4.c new file mode 100644 index 0000000000000000000000000000000000000000..f7dfeba0e575fe36aa91754a516a085c8338b099 --- /dev/null +++ b/SYSTEM/usart/usart4.c @@ -0,0 +1,82 @@ +#include +#include "usart4.h" +#include "usartlink.h" + +//extern xQueueHandle UsartIRQQueue; +static u8 Usart4_TxBuffer[USART4_MAX_RECV_LEN]; +//static int32_t Usart4_TxCounter = 0; +static int32_t Usart4_count = 0; + +/* +********************************************************************************************************* +* 函数名称: uart4_Init +* 功能说明: 初始化串口4 +* 输入参数:bound:波特率 +* 返回参数: 无 +********************************************************************************************************* +*/ +void uart4_Init(u32 bound) +{ + GPIO_InitTypeDef GPIO_InitStructure; + USART_InitTypeDef USART_InitStructure; + NVIC_InitTypeDef NVIC_InitStructure; + + RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE); + RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART4, ENABLE); + + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //复用推挽输出; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; + GPIO_Init(GPIOC, &GPIO_InitStructure); //端口G; + + GPIO_PinAFConfig(GPIOC, GPIO_PinSource10, GPIO_AF_USART6); //GPIOC10复用为USART4_TX + GPIO_PinAFConfig(GPIOC, GPIO_PinSource11, GPIO_AF_USART6); //GPIOC11复用为USART4_RX + + USART_InitStructure.USART_BaudRate = bound; //波特率; + USART_InitStructure.USART_WordLength = USART_WordLength_8b; //数据位8位; + USART_InitStructure.USART_StopBits = USART_StopBits_1; //停止位1位; + USART_InitStructure.USART_Parity = USART_Parity_No ; //无校验位; + USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件流控; + USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//收发模式; + USART_Init(UART4, &USART_InitStructure);//配置串口参数; + + USART_Cmd(UART4, ENABLE); //使能串口; + + USART_ITConfig(UART4, USART_IT_RXNE, ENABLE); + + NVIC_InitStructure.NVIC_IRQChannel = UART4_IRQn; //中断号; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 12; //抢占优先级12; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //响应优先级0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); +} + + + +/* +********************************************************************************************************* +* 函数名称: Uart4_Put_Buf +* 功能说明: 串口4发送字符串 +* 输入参数:DataToSend:待发送字符首地址;data_num:字符串长度 +* 返回参数: 无 +********************************************************************************************************* +*/ +void Uart4_Put_Buf(unsigned char *DataToSend, int32_t data_num) +{ + int32_t i; + portENTER_CRITICAL(); + for(i=0; iCR1 & USART_CR1_TXEIE)) + { + USART_ITConfig(UART4, USART_IT_TXE, ENABLE); //打开发送中断 + } +} + +/*------------------------------------------- End Line ---------------------------------------------------*/ + diff --git a/SYSTEM/usart/usart4.h b/SYSTEM/usart/usart4.h new file mode 100644 index 0000000000000000000000000000000000000000..29ab8543d2d265967cb00a60ebcdd794308c6a66 --- /dev/null +++ b/SYSTEM/usart/usart4.h @@ -0,0 +1,24 @@ +#ifndef __UART4_H +#define __UART4_H + + +#include "stdio.h" +#include "sys.h" +#include "stm32f4xx_conf.h" + +/* FreeRTOS头文件 */ +#include "FreeRTOS.h" +#include "queue.h" +#include "task.h" +#include "semphr.h" + + +#define USART4_MAX_RECV_LEN 32 //最大接收缓存字节数 +#define USART4_MAX_SEND_LEN 32 //最大发送缓存字节数 + +void uart4_Init(u32 bound); +void Uart4_Put_Buf(unsigned char *DataToSend, int32_t data_num); +// void Uart4_Put_Char(unsigned char DataToSend); 作废这个函数 + +#endif + diff --git a/USER/USER.uvguix.jiangke1 b/USER/USER.uvguix.jiangke1 index 54f2c0a458b4f4ac35871aa3a6b97d92f00cf41f..7b0691add6f1176d2eafeb9eb1615a71c55c305a 100644 --- a/USER/USER.uvguix.jiangke1 +++ b/USER/USER.uvguix.jiangke1 @@ -83,17 +83,17 @@ -1 - 360 - -49 - 1647 - 1095 + 50 + 110 + 1704 + 1107 0 - 1363 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000900000001000000010000005E433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266342D6D6173746572315C706162692D726F626F742D73746D333266345C555345525C6D61696E2E6300000000066D61696E2E6300000000B3A6BE00FFFFFFFF65433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266342D6D6173746572315C706162692D726F626F742D73746D333266345C48415244574152455C50574D5C70776D2E63000000000570776D2E6300000000A5C2D700FFFFFFFF67433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266342D6D6173746572315C706162692D726F626F742D73746D333266345C48415244574152455C455854495C657874692E630000000006657874692E6300000000D9ADC200FFFFFFFF67433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266342D6D6173746572315C706162692D726F626F742D73746D333266345C48415244574152455C455854495C657874692E680000000006657874692E6800000000F7B88600FFFFFFFF6E433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266342D6D6173746572315C706162692D726F626F742D73746D333266345C4672656552544F535C696E636C7564655C4672656552544F532E68000000000A4672656552544F532E68000000009CC1B600FFFFFFFF74433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266342D6D6173746572315C706162692D726F626F742D73746D333266345C4672656552544F535C696E636C7564655C4672656552544F53436F6E6669672E6800000000104672656552544F53436F6E6669672E6800000000BCA8E100FFFFFFFF70433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266342D6D6173746572315C706162692D726F626F742D73746D333266345C53595354454D5C4C65747465725368656C6C5C7368656C6C5F70732E63000000000A7368656C6C5F70732E6300000000F0A0A100FFFFFFFF6D433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266342D6D6173746572315C706162692D726F626F742D73746D333266345C46574C49425C696E635C73746D3332663478785F657874692E68000000001073746D3332663478785F657874692E6800000000BECEA100FFFFFFFF63433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266342D6D6173746572315C706162692D726F626F742D73746D333266345C4672656552544F535C7461736B732E6300000000077461736B732E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000006E01000066000000AB06000059030000 + 1553 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000D0000000B000000010000004F433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C53595354454D5C75736172745C7573617274342E6300000000087573617274342E63000000005FC3CF00FFFFFFFF4E433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C53595354454D5C75736172745C75736172742E63000000000775736172742E6300000000B5E99D00FFFFFFFF45433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C555345525C6D61696E2E6300000000066D61696E2E6300000000F6FA7D00FFFFFFFF52433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C48415244574152455C414E4F5C75736172746C696E6B2E63000000000B75736172746C696E6B2E6300000000EAD6A300FFFFFFFF4C433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C48415244574152455C4C45445C6C65642E6300000000056C65642E6300000000B3A6BE00FFFFFFFF5D433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C4C6F626F7453657269616C536572766F5C4C6F626F7453657269616C536572766F2E6300000000124C6F626F7453657269616C536572766F2E6300000000A5C2D700FFFFFFFF4C433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C555345525C706178696E675F6374726C2E63000000000D706178696E675F6374726C2E6300000000D9ADC200FFFFFFFF4E433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C48415244574152455C4C45445C76616C76652E68000000000776616C76652E6800000000F7B88600FFFFFFFF4C433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C48415244574152455C4C45445C6C65642E6800000000056C65642E68000000009CC1B600FFFFFFFF4C433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C48415244574152455C4144435C6164632E6300000000056164632E6300000000BCA8E100FFFFFFFF4C433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C48415244574152455C4144435C6164632E6800000000056164632E6800000000F0A0A100FFFFFFFF55433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C48415244574152455C414E4F5C616E6F5F70726F746F636F6C2E63000000000E616E6F5F70726F746F636F6C2E6300000000BECEA100FFFFFFFF55433A5C55736572735C6A69616E676B65315C4465736B746F705CC5C0B1DABBFAC6F7C8CB5C706162692D726F626F742D73746D333266345F315C48415244574152455C414E4F5C616E6F5F70726F746F636F6C2E68000000000E616E6F5F70726F746F636F6C2E6800000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000006E010000660000008007000064030000 @@ -132,7 +132,7 @@ 0 16 - 03000000660000006701000029030000 + 03000000660000006701000034030000 16 @@ -152,7 +152,7 @@ 0 16 - 03000000660000006701000029030000 + 03000000660000006701000034030000 16 @@ -432,7 +432,7 @@ 0 16 - 03000000660000006701000029030000 + 03000000660000006701000034030000 16 @@ -452,7 +452,7 @@ 0 16 - 03000000660000006701000029030000 + 03000000660000006701000034030000 16 @@ -472,7 +472,7 @@ 0 16 - 000000005A030000AB060000D1030000 + 000000006503000080070000DE030000 16 @@ -512,7 +512,7 @@ 0 16 - 030000005D030000A8060000B8030000 + 03000000680300007D070000C5030000 16 @@ -1112,7 +1112,7 @@ 0 16 - 03000000660000006701000029030000 + 03000000660000006701000034030000 16 @@ -1132,7 +1132,7 @@ 0 16 - 030000005D030000A8060000B8030000 + 03000000680300007D070000C5030000 16 @@ -1152,7 +1152,7 @@ 0 16 - 030000005D030000A8060000B8030000 + 03000000680300007D070000C5030000 16 @@ -1232,7 +1232,7 @@ 0 16 - 00000000D1030000AB060000E4030000 + 00000000DE03000080070000F1030000 16 @@ -1281,14 +1281,14 @@ 2619 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94010000DA000000F0040000DE000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E6500200000000000009401000066000000F0040000F1000000940100004F000000F0040000DA0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF5C0300004F0000006003000016020000000000000200000004000000010000000000000000000000FFFFFFFF17000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C0000018000400000000000006003000066000000F00400002D020000600300004F000000F0040000160200000000000040410046170000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF6A0100004F0000006E010000420300000100000002000010040000000100000072FEFFFF12050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000006A01000059030000000000004F0000006A010000420300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000002020000F00400000602000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000001D020000F0040000BC0200000000000006020000F0040000A502000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF78020000060200007C020000A502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000042030000AB06000046030000010000000100001004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000005D030000AB060000E80300000000000046030000AB060000D10300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94010000DA000000F0040000DE000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E6500200000000000009401000066000000F0040000F1000000940100004F000000F0040000DA0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF5C0300004F0000006003000016020000000000000200000004000000010000000000000000000000FFFFFFFF17000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C0000018000400000000000006003000066000000F00400002D020000600300004F000000F0040000160200000000000040410046170000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF6A0100004F0000006E0100004D0300000100000002000010040000000100000072FEFFFF12050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000006A01000064030000000000004F0000006A0100004D0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000002020000F00400000602000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000001D020000F0040000BC0200000000000006020000F0040000A502000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF78020000060200007C020000A502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004D030000800700005103000001000000010000100400000001000000C9FDFFFF4D010000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000006803000080070000F5030000000000005103000080070000DE0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2438 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000019784576656E7447726F75705365744269747346726F6D4953529600000000000000140019784576656E7447726F75705365744269747346726F6D495352077475726E5F4C52047475726E0A675F6D6F746F7250574D036C65640A646565705F65787472610D4D4F544F525F4D494E5F50574D0D70446174612D3E7461726765740E5049445F4F55545055545F4D4158087069645F6D61786F105348454C4C5F4558504F52545F5641521070726F636573735F646565705F63746C0B646565705F7461726765741A675F72656D6F74655F636F6E74726F6C2E72785F646174612E4110675F72656D6F74655F636F6E74726F6C1C20675F72656D6F74655F636F6E74726F6C2E72785F646174612E52311C675F72656D6F74655F636F6E74726F6C2E72785F646174612E4C31200F70726F746F636F6C5F7061636B6574166765745F636F6D6D616E645F66726F6D5F71756575651A557361727452785F325F5061636B6574416E616C7951756575650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 + 2331 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000002000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000054750494F4396000000000000001400054750494F43054750494F450CC9E8D6C3B6E6BBFAD0C249440275381556414C56455F464C4F41545F4C4547535F534F46540373657019784576656E7447726F75705365744269747346726F6D495352077475726E5F4C52047475726E0A675F6D6F746F7250574D036C65640A646565705F65787472610D4D4F544F525F4D494E5F50574D0D70446174612D3E7461726765740E5049445F4F55545055545F4D4158087069645F6D61786F105348454C4C5F4558504F52545F5641521070726F636573735F646565705F63746C0B646565705F7461726765741A675F72656D6F74655F636F6E74726F6C2E72785F646174612E410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 1423 @@ -1320,7 +1320,7 @@ Debug 2220 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1333,8 +1333,8 @@ 0 - 1707 - 1067 + 1920 + 1080 @@ -1344,84 +1344,120 @@ 0 100 - 1 + 11 - .\main.c - 24 - 39 - 57 + ..\SYSTEM\usart\usart4.c + 0 + 1 + 1 1 0 - ..\HARDWARE\PWM\pwm.c + ..\SYSTEM\usart\usart.c 0 - 119 - 96 + 98 + 124 1 0 - ..\HARDWARE\EXTI\exti.c + .\main.c 0 - 3 - 28 + 1 + 1 1 0 - ..\HARDWARE\EXTI\exti.h - 0 + ..\HARDWARE\ANO\usartlink.c + 38 + 113 + 114 + 1 + + 0 + + + ..\HARDWARE\LED\led.c + 12 + 2 + 3 + 1 + + 0 + + + ..\LobotSerialServo\LobotSerialServo.c + 38 + 476 + 488 + 1 + + 0 + + + .\paxing_ctrl.c + 20 + 256 + 285 + 1 + + 0 + + + ..\HARDWARE\LED\valve.h + 41 1 - 15 + 14 1 0 - ..\FreeRTOS\include\FreeRTOS.h - 17 - 48 - 56 + ..\HARDWARE\LED\led.h + 26 + 1 + 13 1 0 - ..\FreeRTOS\include\FreeRTOSConfig.h - 40 - 71 - 90 + ..\HARDWARE\ADC\adc.c + 32 + 241 + 270 1 0 - ..\SYSTEM\LetterShell\shell_ps.c + ..\HARDWARE\ADC\adc.h 0 - 51 - 62 + 1 + 1 1 0 - ..\FWLIB\inc\stm32f4xx_exti.h - 18 - 100 - 112 + ..\HARDWARE\ANO\ano_protocol.c + 29 + 96 + 55 1 0 - ..\FreeRTOS\tasks.c - 0 - 1306 - 1333 + ..\HARDWARE\ANO\ano_protocol.h + 32 + 31 + 53 1 0 diff --git a/USER/USER.uvoptx b/USER/USER.uvoptx index f885c4b07e2315b501008b5f571298ebe04d5fe6..d02f15d570184acddcffa89922cc02026522315f 100644 --- a/USER/USER.uvoptx +++ b/USER/USER.uvoptx @@ -78,6 +78,53 @@ 1 18 + + + 0 + Getting Started (STM32F4-Discovery) + D:\LenovoSoftstore\Install\mdk5\ARM\PACK\Keil\STM32F4xx_DFP\1.0.8\Documents\DM00037368.pdf + + + 1 + User Manual (STM32F4-Discovery) + D:\LenovoSoftstore\Install\mdk5\ARM\PACK\Keil\STM32F4xx_DFP\1.0.8\Documents\DM00039084.pdf + + + 2 + User Manual (MCBSTM32F400) + D:\LenovoSoftstore\Install\mdk5\ARM\PACK\Keil\STM32F4xx_DFP\1.0.8\Documents\mcbstm32f200.chm + + + 3 + Schematics (MCBSTM32F400) + D:\LenovoSoftstore\Install\mdk5\ARM\PACK\Keil\STM32F4xx_DFP\1.0.8\Documents\mcbstm32f400-schematics.pdf + + + 4 + Bill of Materials (STM32F4-Discovery) + D:\LenovoSoftstore\Install\mdk5\ARM\PACK\Keil\STM32F4xx_DFP\1.0.8\Documents\stm32f4discovery_bom.zip + + + 5 + Gerber Files (STM32F4-Discovery) + D:\LenovoSoftstore\Install\mdk5\ARM\PACK\Keil\STM32F4xx_DFP\1.0.8\Documents\stm32f4discovery_gerber.zip + + + 6 + Schematics (STM32F4-Discovery) + D:\LenovoSoftstore\Install\mdk5\ARM\PACK\Keil\STM32F4xx_DFP\1.0.8\Documents\stm32f4discovery_sch.zip + + + 7 + MCBSTM32F400 Evaluation Board Web Page (MCBSTM32F400) + http://www.keil.com/mcbstm32f400/ + + + 8 + STM32F4-Discovery Web Page (STM32F4-Discovery) + http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1199/PF252419 + + 0 1 @@ -100,10 +147,7 @@ 1 0 0 - 1 - 0 - 0 - 6 + 11 @@ -120,7 +164,7 @@ 0 ST-LINKIII-KEIL_SWO - -U32FF68064248323841082057 -O206 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407ZG$CMSIS\Flash\STM32F4xx_1024.FLM) + -U32FF68064248323841082057 -I0 -O206 -S1 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F407ZG$Flash\STM32F4xx_1024.FLM) 0 @@ -165,20 +209,8 @@ - 0 - 0 - 0 - - - - - - - - 1 - 0 0 2 10000000 @@ -188,7 +220,7 @@ CORE - 1 + 0 0 0 0 @@ -197,6 +229,7 @@ 1 2 0 + 0 0 0 ..\CORE\startup_stm32f40_41xxx.s @@ -217,6 +250,7 @@ 2 1 0 + 0 0 0 ..\FWLIB\src\misc.c @@ -229,6 +263,7 @@ 3 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_adc.c @@ -241,6 +276,7 @@ 4 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_can.c @@ -253,6 +289,7 @@ 5 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_crc.c @@ -265,6 +302,7 @@ 6 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_cryp.c @@ -277,6 +315,7 @@ 7 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_cryp_aes.c @@ -289,6 +328,7 @@ 8 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_cryp_des.c @@ -301,6 +341,7 @@ 9 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_cryp_tdes.c @@ -313,6 +354,7 @@ 10 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_dac.c @@ -325,6 +367,7 @@ 11 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_dbgmcu.c @@ -337,6 +380,7 @@ 12 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_dcmi.c @@ -349,6 +393,7 @@ 13 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_dma.c @@ -361,6 +406,7 @@ 14 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_dma2d.c @@ -373,6 +419,7 @@ 15 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_exti.c @@ -385,6 +432,7 @@ 16 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_flash.c @@ -397,6 +445,7 @@ 17 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_flash_ramfunc.c @@ -409,6 +458,7 @@ 18 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_fsmc.c @@ -421,6 +471,7 @@ 19 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_gpio.c @@ -433,6 +484,7 @@ 20 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_hash.c @@ -445,6 +497,7 @@ 21 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_hash_md5.c @@ -457,6 +510,7 @@ 22 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_hash_sha1.c @@ -469,6 +523,7 @@ 23 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_i2c.c @@ -481,6 +536,7 @@ 24 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_iwdg.c @@ -493,6 +549,7 @@ 25 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_ltdc.c @@ -505,6 +562,7 @@ 26 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_pwr.c @@ -517,6 +575,7 @@ 27 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_rcc.c @@ -529,6 +588,7 @@ 28 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_rng.c @@ -541,6 +601,7 @@ 29 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_rtc.c @@ -553,6 +614,7 @@ 30 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_sai.c @@ -565,6 +627,7 @@ 31 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_sdio.c @@ -577,6 +640,7 @@ 32 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_spi.c @@ -589,6 +653,7 @@ 33 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_syscfg.c @@ -601,6 +666,7 @@ 34 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_tim.c @@ -613,6 +679,7 @@ 35 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_usart.c @@ -625,6 +692,7 @@ 36 1 0 + 0 0 0 ..\FWLIB\src\stm32f4xx_wwdg.c @@ -645,6 +713,7 @@ 37 1 0 + 0 0 0 .\main.c @@ -657,6 +726,7 @@ 38 1 0 + 0 0 0 .\stm32f4xx_it.c @@ -669,6 +739,7 @@ 39 1 0 + 0 0 0 .\system_stm32f4xx.c @@ -681,6 +752,7 @@ 40 1 0 + 0 0 0 .\paxing_ctrl.c @@ -701,6 +773,7 @@ 41 1 0 + 0 0 0 ..\SYSTEM\delay\delay.c @@ -713,6 +786,7 @@ 42 1 0 + 0 0 0 ..\SYSTEM\sys\sys.c @@ -725,6 +799,7 @@ 43 1 0 + 0 0 0 ..\SYSTEM\usart\usart.c @@ -737,6 +812,7 @@ 44 1 0 + 0 0 0 ..\SYSTEM\usart\usart2.c @@ -749,6 +825,7 @@ 45 1 0 + 0 0 0 ..\SYSTEM\usart\usart3.c @@ -756,19 +833,33 @@ 0 0 + + 4 + 46 + 1 + 0 + 0 + 0 + 0 + ..\SYSTEM\usart\usart4.c + usart4.c + 0 + 0 + HARDWARE - 0 + 1 0 0 0 5 - 46 + 47 1 0 + 0 0 0 ..\HARDWARE\LED\led.c @@ -778,9 +869,10 @@ 5 - 47 + 48 1 0 + 0 0 0 ..\HARDWARE\KEY\key.c @@ -790,9 +882,10 @@ 5 - 48 + 49 1 0 + 0 0 0 ..\HARDWARE\BEEP\beep.c @@ -802,9 +895,10 @@ 5 - 49 + 50 1 0 + 0 0 0 ..\HARDWARE\EXTI\exti.c @@ -814,9 +908,10 @@ 5 - 50 + 51 1 0 + 0 0 0 ..\HARDWARE\IWDG\iwdg.c @@ -826,9 +921,10 @@ 5 - 51 + 52 1 0 + 0 0 0 ..\HARDWARE\TIMER\timer.c @@ -838,9 +934,10 @@ 5 - 52 + 53 1 0 + 0 0 0 ..\HARDWARE\PWM\pwm.c @@ -850,9 +947,10 @@ 5 - 53 + 54 1 0 + 0 0 0 ..\HARDWARE\TPAD\tpad.c @@ -862,9 +960,10 @@ 5 - 54 + 55 1 0 + 0 0 0 ..\HARDWARE\ADC\adc.c @@ -874,9 +973,10 @@ 5 - 55 + 56 1 0 + 0 0 0 ..\HARDWARE\DAC\dac.c @@ -886,9 +986,10 @@ 5 - 56 + 57 1 0 + 0 0 0 ..\HARDWARE\DMA\dma.c @@ -898,9 +999,10 @@ 5 - 57 + 58 1 0 + 0 0 0 ..\HARDWARE\24CXX\24cxx.c @@ -910,9 +1012,10 @@ 5 - 58 + 59 1 0 + 0 0 0 ..\HARDWARE\IIC\iic.c @@ -922,9 +1025,10 @@ 5 - 59 + 60 1 0 + 0 0 0 ..\HARDWARE\SPI\spi.c @@ -934,9 +1038,10 @@ 5 - 60 + 61 1 0 + 0 0 0 ..\HARDWARE\W25QXX\w25qxx.c @@ -946,9 +1051,10 @@ 5 - 61 + 62 1 0 + 0 0 0 ..\LobotSerialServo\LobotSerialServo.c @@ -956,6 +1062,32 @@ 0 0 + + 5 + 63 + 1 + 0 + 0 + 0 + 0 + ..\HARDWARE\ANO\ano_protocol.c + ano_protocol.c + 0 + 0 + + + 5 + 64 + 1 + 0 + 0 + 0 + 0 + ..\HARDWARE\ANO\usartlink.c + usartlink.c + 0 + 0 + @@ -966,9 +1098,10 @@ 0 6 - 62 + 65 1 0 + 0 0 0 ..\FreeRTOS\croutine.c @@ -978,9 +1111,10 @@ 6 - 63 + 66 1 0 + 0 0 0 ..\FreeRTOS\event_groups.c @@ -990,9 +1124,10 @@ 6 - 64 + 67 1 0 + 0 0 0 ..\FreeRTOS\list.c @@ -1002,9 +1137,10 @@ 6 - 65 + 68 1 0 + 0 0 0 ..\FreeRTOS\queue.c @@ -1014,9 +1150,10 @@ 6 - 66 + 69 1 0 + 0 0 0 ..\FreeRTOS\stream_buffer.c @@ -1026,9 +1163,10 @@ 6 - 67 + 70 1 0 + 0 0 0 ..\FreeRTOS\tasks.c @@ -1038,9 +1176,10 @@ 6 - 68 + 71 1 0 + 0 0 0 ..\FreeRTOS\timers.c @@ -1058,9 +1197,10 @@ 0 7 - 69 + 72 1 0 + 0 0 0 ..\FreeRTOS\portable\MemMang\heap_4.c @@ -1070,9 +1210,10 @@ 7 - 70 + 73 1 0 + 0 0 0 ..\FreeRTOS\portable\RVDS\ARM_CM4F\port.c @@ -1082,9 +1223,10 @@ 7 - 71 + 74 2 0 + 0 0 0 ..\FreeRTOS\HardFault_proc.S @@ -1094,9 +1236,10 @@ 7 - 72 + 75 1 0 + 0 0 0 ..\FreeRTOS\HFault_exception.c @@ -1114,9 +1257,10 @@ 0 8 - 73 + 76 1 0 + 0 0 0 ..\SYSTEM\LetterShell\log.c @@ -1126,9 +1270,10 @@ 8 - 74 + 77 1 0 + 0 0 0 ..\SYSTEM\LetterShell\shell.c @@ -1138,9 +1283,10 @@ 8 - 75 + 78 1 0 + 0 0 0 ..\SYSTEM\LetterShell\shell_cmd_group.c @@ -1150,9 +1296,10 @@ 8 - 76 + 79 1 0 + 0 0 0 ..\SYSTEM\LetterShell\shell_cmd_list.c @@ -1162,9 +1309,10 @@ 8 - 77 + 80 1 0 + 0 0 0 ..\SYSTEM\LetterShell\shell_companion.c @@ -1174,9 +1322,10 @@ 8 - 78 + 81 1 0 + 0 0 0 ..\SYSTEM\LetterShell\shell_ext.c @@ -1186,9 +1335,10 @@ 8 - 79 + 82 1 0 + 0 0 0 ..\SYSTEM\LetterShell\shell_port.c @@ -1198,9 +1348,10 @@ 8 - 80 + 83 1 0 + 0 0 0 ..\SYSTEM\LetterShell\shell_ps.c diff --git a/USER/USER.uvprojx b/USER/USER.uvprojx index 9dcad659feda7f07d72bb0fe7b89b49bdb00d5cf..b1d13c522f706f32b79aa8fc4539548561e3667a 100644 --- a/USER/USER.uvprojx +++ b/USER/USER.uvprojx @@ -10,14 +10,12 @@ Template 0x4 ARM-ADS - 5060750::V5.06 update 6 (build 750)::ARMCC - 0 STM32F407ZG STMicroelectronics - Keil.STM32F4xx_DFP.2.14.0 - http://www.keil.com/pack/ + Keil.STM32F4xx_DFP.1.0.8 + http://www.keil.com/pack IROM(0x08000000,0x100000) IRAM(0x20000000,0x20000) IRAM2(0x10000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE @@ -86,8 +84,6 @@ 0 0 - 0 - 0 0 @@ -126,6 +122,47 @@ 0 16 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + + 0 + 11 + + + + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + @@ -138,7 +175,7 @@ 1 BIN\UL2CM3.DLL - + "" () @@ -184,14 +221,12 @@ 0 0 2 - 0 1 0 8 0 0 0 - 0 3 3 0 @@ -325,20 +360,12 @@ 0 0 1 - 0 0 - 1 - 1 - 1 - 1 - 0 - 0 - 0 STM32F40_41xxx,USE_STDPERIPH_DRIVER - ..\CORE;..\FWLIB\inc;..\USER;..\SYSTEM;..\SYSTEM\delay;..\SYSTEM\sys;..\SYSTEM\usart;..\HARDWARE\LED;..\HARDWARE\KEY;..\HARDWARE\BEEP;..\HARDWARE\EXTI;..\HARDWARE\IWDG;..\HARDWARE\TIMER;..\HARDWARE\PWM;..\HARDWARE\TPAD;..\HARDWARE\ADC;..\HARDWARE\DAC;..\HARDWARE\DMA;..\HARDWARE\24CXX;..\HARDWARE\IIC;..\HARDWARE\W25QXX;..\HARDWARE\SPI;..\FreeRTOS\include;..\FreeRTOS\portable\RVDS\ARM_CM4F;..\SYSTEM\LetterShell;..\LobotSerialServo + ..\CORE;..\FWLIB\inc;..\USER;..\SYSTEM;..\SYSTEM\delay;..\SYSTEM\sys;..\SYSTEM\usart;..\HARDWARE\LED;..\HARDWARE\KEY;..\HARDWARE\BEEP;..\HARDWARE\EXTI;..\HARDWARE\IWDG;..\HARDWARE\TIMER;..\HARDWARE\PWM;..\HARDWARE\TPAD;..\HARDWARE\ADC;..\HARDWARE\DAC;..\HARDWARE\DMA;..\HARDWARE\24CXX;..\HARDWARE\IIC;..\HARDWARE\W25QXX;..\HARDWARE\SPI;..\FreeRTOS\include;..\FreeRTOS\portable\RVDS\ARM_CM4F;..\SYSTEM\LetterShell;..\LobotSerialServo;..\HARDWARE\ANO @@ -351,7 +378,6 @@ 0 0 0 - 0 @@ -622,6 +648,11 @@ 1 ..\SYSTEM\usart\usart3.c + + usart4.c + 1 + ..\SYSTEM\usart\usart4.c + @@ -707,6 +738,16 @@ 1 ..\LobotSerialServo\LobotSerialServo.c + + ano_protocol.c + 1 + ..\HARDWARE\ANO\ano_protocol.c + + + usartlink.c + 1 + ..\HARDWARE\ANO\usartlink.c + @@ -823,10 +864,4 @@ - - - - - - diff --git a/USER/include.h b/USER/include.h index ae6e081f6035e066af4990ff07780a8a4ffc3f23..b4889225a2e391803db88b2e16654c02c17ea96e 100644 --- a/USER/include.h +++ b/USER/include.h @@ -6,6 +6,7 @@ #include "FreeRTOS.h" #include "task.h" #include "usart.h" +#include "usart4.h" #include "delay.h" #include "led.h" #include "key.h" @@ -32,6 +33,8 @@ + + #endif diff --git a/USER/main.c b/USER/main.c index a0164a848aa48c6bc3ae3f186f77aeaed2ef24dd..8385bc14e534a6c722e6527f5d14d72f695037dc 100644 --- a/USER/main.c +++ b/USER/main.c @@ -12,7 +12,6 @@ TaskHandle_t StartTask_Handler; // - extern void $Super$$main(void); void $Sub$$main() { @@ -27,6 +26,7 @@ int main() NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); delay_init(168); uart_init(115200); //初始化串口 + uart4_Init(115200); LED_Init(); KEY_Init(); Adc_Init(); @@ -64,6 +64,8 @@ void start_task(void * pvParameters) xTaskCreate(airPress_LED_task, "PressLED", 120, NULL, 17, NULL); xTaskCreate(paxing_ctrl_task, "pax-tsk", 220, NULL, 7, NULL); + + xTaskCreate(usart_tx_task, "tx-tsk", 140, NULL, 12, NULL); taskEXIT_CRITICAL(); //test_evgp = xEventGroupCreate(); diff --git a/USER/paxing_ctrl.c b/USER/paxing_ctrl.c index 67c6d1be85a53ae1d0dc629ae52a975b345945dd..08b4ef66ff5de21856fe3b92c4944555bff72f6c 100755 --- a/USER/paxing_ctrl.c +++ b/USER/paxing_ctrl.c @@ -154,7 +154,11 @@ void paxing_ctrl_task(void* pp) if(evt == FLOAT_LEGS_GO || FLOAT_LEGS_BACK==evt){ int dir= (evt==FLOAT_LEGS_GO ? 2 : 1); - VALVE_FLOAT=1; + VALVE_FLOAT2=1; + vTaskDelay(700); + VALVE_FLOAT4=1; + vTaskDelay(700); + VALVE_FLOAT6=1; while(AirLED2==1 || AirLED3==1 || AirLED6==1){ vTaskDelay(30);} GiveJointCtrlTaskCmd(FLOAT_LEGS_NEI_JOINT_UP); vTaskDelay(850); @@ -181,9 +185,17 @@ void paxing_ctrl_task(void* pp) uint32_t doj_evt =xEventGroupWaitBits(doj_mov_end_evgp,0x828,pdTRUE,pdTRUE,2000); //等待所有比特位 if(doj_evt & 0x828){ // bit 12,6,4号舵机到位了 - VALVE_FLOAT=0; + VALVE_FLOAT2=0; + vTaskDelay(700); + VALVE_FLOAT4=0; + vTaskDelay(700); + VALVE_FLOAT6=0; } - VALVE_FLOAT=0; + VALVE_FLOAT2=0; + vTaskDelay(700); + VALVE_FLOAT4=0; + vTaskDelay(700); + VALVE_FLOAT6=0; tt = wait_help_xipan_ok(Float_legs, 6500); last_step_ret=tt; @@ -193,7 +205,11 @@ void paxing_ctrl_task(void* pp) if(evt==FIXED_LEGS_GO || FIXED_LEGS_BACK==evt){ int dir =(evt==FIXED_LEGS_GO ? 1 : 2); - VALVE_FIXED=1; + VALVE_FIXED1=1; + vTaskDelay(700); + VALVE_FIXED3=1; + vTaskDelay(700); + VALVE_FIXED5=1; while(AirLED1==1 || AirLED4==1 || AirLED5==1){ vTaskDelay(30);} GiveJointCtrlTaskCmd(FIXED_LEGS_NEI_JOINT_UP); vTaskDelay(850); @@ -219,9 +235,17 @@ void paxing_ctrl_task(void* pp) uint32_t doj_evt =xEventGroupWaitBits(doj_mov_end_evgp,0x282,pdTRUE,pdTRUE,2000); //等待所有比特位 if(doj_evt & 0x282){ // bit 10,8,2号舵机到位了 - VALVE_FIXED=0; + VALVE_FIXED1=0; + vTaskDelay(700); + VALVE_FIXED3=0; + vTaskDelay(700); + VALVE_FIXED5=0; } - VALVE_FIXED=0; + VALVE_FIXED1=0; + vTaskDelay(700); + VALVE_FIXED3=0; + vTaskDelay(700); + VALVE_FIXED5=0; tt = wait_help_xipan_ok(Fixed_legs, 6500); @@ -230,7 +254,11 @@ void paxing_ctrl_task(void* pp) } if(ANTI_CLOCK_TURN== evt){ - VALVE_FLOAT=1; // step 0 关断气阀准备抬吸盘 + VALVE_FLOAT2=1; // step 0 关断气阀准备抬吸盘 + vTaskDelay(700); + VALVE_FLOAT4=1; + vTaskDelay(700); + VALVE_FLOAT6=1; while(AirLED2==1 || AirLED3==1 || AirLED6==1){ vTaskDelay(30);} GiveJointCtrlTaskCmd(FLOAT_LEGS_NEI_JOINT_UP); // step 1 抬足关节 @@ -250,12 +278,20 @@ void paxing_ctrl_task(void* pp) printf("三浮足落下来了~\r\n"); } - VALVE_FLOAT=0; // step 4 打开气阀 吸附 + VALVE_FLOAT2=0; // step 4 打开气阀 吸附 + vTaskDelay(700); + VALVE_FLOAT4=0; + vTaskDelay(700); + VALVE_FLOAT6=0; int ret = wait_help_xipan_ok(Float_legs, 5500); // step 5 等待吸附完成或失败 if(0==ret){ //未超时说明吸住了 - VALVE_FIXED=1; + VALVE_FIXED1=1; + vTaskDelay(700); + VALVE_FIXED3=1; + vTaskDelay(700); + VALVE_FIXED5=1; while(AirLED1==1 || AirLED4==1 || AirLED5==1){ vTaskDelay(30);} GiveJointCtrlTaskCmd(FIXED_LEGS_NEI_JOINT_UP); @@ -275,7 +311,11 @@ void paxing_ctrl_task(void* pp) printf("三固足落下来了2~\r\n"); } - VALVE_FIXED=0; + VALVE_FIXED1=0; + vTaskDelay(700); + VALVE_FIXED3=0; + vTaskDelay(700); + VALVE_FIXED5=0; ret = wait_help_xipan_ok(Fixed_legs, 5500); } diff --git a/USER/tasks_entry.h b/USER/tasks_entry.h index a6dac6da1029be86df236bee8074f6a9501cee94..37ab1336ebb6d506995d641a8fcc96f83737829f 100755 --- a/USER/tasks_entry.h +++ b/USER/tasks_entry.h @@ -17,7 +17,8 @@ extern void airPress_LED_task(void* pp); // 爬行动作全过程程监测及控制任务入口函数 extern void paxing_ctrl_task(void* pp); - +// adc压力值发送上位机任务入口函数 +extern void usart_tx_task(void *param);