20260106:移植了野火的ESP-01s驱动代码,初步实现功能。
This commit is contained in:
@@ -32,23 +32,23 @@ void vUsartInit(USART_TypeDef *xUsartId, uint32_t ulBaudrate)
|
||||
USART_InitStructure.USART_Parity = USART_Parity_No; // <20><>У<EFBFBD><D0A3>λ
|
||||
USART_InitStructure.USART_StopBits = USART_StopBits_1; // һλֹͣλ
|
||||
USART_InitStructure.USART_WordLength = USART_WordLength_8b; // <20>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҪУ<D2AA>飬<EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD>ѡ<EFBFBD><D1A1>8λ
|
||||
USART_Init(USART1,&USART_InitStructure);
|
||||
USART_Init(USART1, &USART_InitStructure);
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4>ڵIJ<DAB5>ѯģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD>NVIC
|
||||
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); // ѡ<><D1A1>RXNE<4E><45><EFBFBD>ж<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RXNE<4E><45>־λ<D6BE><CEBB>NVIC<49><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RXNE<4E><45>־λ<D6BE><CEBB>1<EFBFBD><31><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>NVIC<49><43><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<D0B6><CFBA><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
USART_ITConfig(USART1, USART_IT_IDLE, ENABLE); // ʹ<>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD><EFBFBD>ж<EFBFBD>
|
||||
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); // <20><><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD>4Ϊ4bit<69><74>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>0bit<69><74>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0-15<31><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FreeRTOSû<53><C3BB><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD>൱<EFBFBD><E0B5B1>4λ<34><CEBB>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>0λ<30><CEBB>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>
|
||||
NVIC_InitTypeDef NVIC_InitStructure; // <20><>ʼ<EFBFBD><CABC>NVIC<49><43>USART1ͨ<31><CDA8>
|
||||
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; // <20>ж<EFBFBD>ͨ<EFBFBD><CDA8>
|
||||
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
|
||||
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 7; // <20><>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>FreeRTOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>ڷ<EFBFBD>Χ<EFBFBD>ڿ<EFBFBD><DABF>Ե<EFBFBD><D4B5><EFBFBD>FreeRTOS<4F><53><EFBFBD>ԡ<EFBFBD>FromISR()<29><><EFBFBD><EFBFBD>β<EFBFBD><CEB2>api<70><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 5; // <20><>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>FreeRTOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>ڷ<EFBFBD>Χ<EFBFBD>ڿ<EFBFBD><DABF>Ե<EFBFBD><D4B5><EFBFBD>FreeRTOS<4F><53><EFBFBD>ԡ<EFBFBD>FromISR()<29><><EFBFBD><EFBFBD>β<EFBFBD><CEB2>api<70><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; // <20><>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>
|
||||
NVIC_Init(&NVIC_InitStructure); // ָ<><D6B8>NVIC_InitStructure<72>ĵ<EFBFBD>ַ
|
||||
|
||||
USART_Cmd(USART1,ENABLE);
|
||||
USART_Cmd(USART1, ENABLE);
|
||||
} else if (xUsartId == USART2)
|
||||
{
|
||||
/* code */
|
||||
RCC_APB2PeriphClockCmd(USART2_GPIO_CLOCK,ENABLE);
|
||||
RCC_APB2PeriphClockCmd(USART2_GPIO_CLOCK, ENABLE);
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||
@@ -69,6 +69,7 @@ void vUsartInit(USART_TypeDef *xUsartId, uint32_t ulBaudrate)
|
||||
USART_Init(USART2, &USART_InitStructure);
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4>ڵIJ<DAB5>ѯģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD>NVIC
|
||||
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); // ѡ<><D1A1>RXNE<4E><45><EFBFBD>ж<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RXNE<4E><45>־λ<D6BE><CEBB>NVIC<49><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RXNE<4E><45>־λ<D6BE><CEBB>1<EFBFBD><31><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>NVIC<49><43><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<D0B6><CFBA><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
USART_ITConfig(USART2, USART_IT_IDLE, ENABLE); // ʹ<>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD><EFBFBD>ж<EFBFBD>
|
||||
|
||||
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); // <20><><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD>4Ϊ4bit<69><74>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>0bit<69><74>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0-15<31><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FreeRTOSû<53><C3BB><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD>൱<EFBFBD><E0B5B1>4λ<34><CEBB>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>0λ<30><CEBB>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>
|
||||
NVIC_InitTypeDef NVIC_InitStructure; // <20><>ʼ<EFBFBD><CABC>NVIC<49><43>USART1ͨ<31><CDA8>
|
||||
@@ -82,7 +83,7 @@ void vUsartInit(USART_TypeDef *xUsartId, uint32_t ulBaudrate)
|
||||
} else if (xUsartId == USART3)
|
||||
{
|
||||
/* code */
|
||||
RCC_APB2PeriphClockCmd(USART3_GPIO_CLOCK,ENABLE);
|
||||
RCC_APB2PeriphClockCmd(USART3_GPIO_CLOCK, ENABLE);
|
||||
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
|
||||
@@ -95,21 +96,21 @@ void vUsartInit(USART_TypeDef *xUsartId, uint32_t ulBaudrate)
|
||||
|
||||
USART_InitTypeDef USART_InitStructure;
|
||||
USART_InitStructure.USART_BaudRate = ulBaudrate; // <20>趨<EFBFBD><E8B6A8><EFBFBD><EFBFBD>USART_Init<69><74><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>9600<30><30>Ӧ<EFBFBD>ķ<EFBFBD>Ƶϵ<C6B5><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>BRR<52>Ĵ<EFBFBD><C4B4><EFBFBD>
|
||||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);
|
||||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);
|
||||
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; // Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Tx|USART_Mode_Rx; // <20><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3>ͽ<EFBFBD><CDBD><EFBFBD>ģʽ
|
||||
USART_InitStructure.USART_Parity = USART_Parity_No; // <20><>У<EFBFBD><D0A3>λ
|
||||
USART_InitStructure.USART_StopBits = USART_StopBits_1; // һλֹͣλ
|
||||
USART_InitStructure.USART_WordLength = USART_WordLength_8b; // <20>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҪУ<D2AA>飬<EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD>ѡ<EFBFBD><D1A1>8λ
|
||||
USART_Init(USART3,&USART_InitStructure);
|
||||
USART_Init(USART3, &USART_InitStructure);
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4>ڵIJ<DAB5>ѯģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD>NVIC
|
||||
USART_ITConfig(USART3,USART_IT_RXNE,ENABLE); // ѡ<><D1A1>RXNE<4E><45><EFBFBD>ж<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RXNE<4E><45>־λ<D6BE><CEBB>NVIC<49><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RXNE<4E><45>־λ<D6BE><CEBB>1<EFBFBD><31><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>NVIC<49><43><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<D0B6><CFBA><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
USART_ITConfig(USART3, USART_IT_RXNE, ENABLE); // ѡ<><D1A1>RXNE<4E><45><EFBFBD>ж<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RXNE<4E><45>־λ<D6BE><CEBB>NVIC<49><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RXNE<4E><45>־λ<D6BE><CEBB>1<EFBFBD><31><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>NVIC<49><43><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<D0B6><CFBA><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
USART_ITConfig(USART3, USART_IT_IDLE, ENABLE); // ʹ<>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD><EFBFBD>ж<EFBFBD>
|
||||
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); // <20><><EFBFBD>飬<EFBFBD><E9A3AC><EFBFBD><EFBFBD>4Ϊ4bit<69><74>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>0bit<69><74>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0-15<31><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FreeRTOSû<53><C3BB><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD>൱<EFBFBD><E0B5B1>4λ<34><CEBB>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>0λ<30><CEBB>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>
|
||||
NVIC_InitTypeDef NVIC_InitStructure; // <20><>ʼ<EFBFBD><CABC>NVIC<49><43>USART1ͨ<31><CDA8>
|
||||
NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn; // <20>ж<EFBFBD>ͨ<EFBFBD><CDA8>
|
||||
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
|
||||
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 6; // <20><>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>FreeRTOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>ڷ<EFBFBD>Χ<EFBFBD>ڿ<EFBFBD><DABF>Ե<EFBFBD><D4B5><EFBFBD>FreeRTOS<4F><53><EFBFBD>ԡ<EFBFBD>FromISR()<29><><EFBFBD><EFBFBD>β<EFBFBD><CEB2>api<70><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 5; // <20><>ռ<EFBFBD><D5BC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>FreeRTOS<4F><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>ڷ<EFBFBD>Χ<EFBFBD>ڿ<EFBFBD><DABF>Ե<EFBFBD><D4B5><EFBFBD>FreeRTOS<4F><53><EFBFBD>ԡ<EFBFBD>FromISR()<29><><EFBFBD><EFBFBD>β<EFBFBD><CEB2>api<70><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; // <20><>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>
|
||||
NVIC_Init(&NVIC_InitStructure); // ָ<><D6B8>NVIC_InitStructure<72>ĵ<EFBFBD>ַ
|
||||
|
||||
@@ -172,7 +173,7 @@ void vUsartSendString(USART_TypeDef *xUsartId, char *pcString)
|
||||
*/
|
||||
void vUsartPrintf(USART_TypeDef *xUsartId, char *format, ...)
|
||||
{
|
||||
char cBuffer[100];
|
||||
char cBuffer[1024];
|
||||
va_list arg; // arg<72>Ƕ<EFBFBD><C7B6><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
|
||||
va_start(arg, format); // <20><>formatλ<74>ÿ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>arg<72><67><EFBFBD><EFBFBD>
|
||||
vsprintf(cBuffer, format, arg); // <20><>װ<EFBFBD><D7B0>ʽҪ<CABD><D2AA>vsprintf<74><66><EFBFBD><EFBFBD>Ϊsprintfֻ<66>ܽ<EFBFBD><DCBD><EFBFBD>ֱ<EFBFBD><D6B1>д<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>format<61><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>arg<72><67>
|
||||
@@ -219,16 +220,17 @@ void USART1_IRQHandler(void)
|
||||
if (USART_GetITStatus(USART1, USART_IT_RXNE) == SET)
|
||||
{
|
||||
/* code */
|
||||
uint8_t ulRxData = (uint8_t)USART_ReceiveData(USART1);
|
||||
#if (USE_RTOS == NONE)
|
||||
#elif (USE_RTOS == FREERTOS)
|
||||
#elif (USE_RTOS == FREERTOS && ENABLE_FREERTOS_API_QUEUE_USART1_IRQ == 1)
|
||||
uint8_t ulRxData = (uint8_t)USART_ReceiveData(USART1);
|
||||
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
|
||||
xQueueSendFromISR(xQueueUsart1IrqHdlr, &ulRxData, &xHigherPriorityTaskWoken);
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD> */
|
||||
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
|
||||
#elif (USE_RTOS == OSAL)
|
||||
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
|
||||
#elif (USE_RTOS == FREERTOS && ENABLE_FREERTOS_API_QUEUE_USART1_IRQ == 0)
|
||||
|
||||
#endif
|
||||
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -240,35 +242,46 @@ void USART1_IRQHandler(void)
|
||||
*/
|
||||
void USART2_IRQHandler(void)
|
||||
{
|
||||
if (USART_GetITStatus(USART2, USART_IT_RXNE) == SET)
|
||||
{
|
||||
/* code */
|
||||
uint8_t ulRxData = (uint8_t)USART_ReceiveData(USART2);
|
||||
#if (USE_RTOS == NONE)
|
||||
#elif (USE_RTOS == FREERTOS)
|
||||
#if (USE_RTOS == NONE && defined __ESP8266_SAMPLE_H__)
|
||||
uint8_t ulRxData;
|
||||
if ( USART_GetITStatus ( macESP8266_USART, USART_IT_RXNE ) != RESET )
|
||||
{
|
||||
ulRxData = USART_ReceiveData( macESP8266_USART );
|
||||
if ( strEsp8266_Fram_Record .InfBit .FramLength < ( RX_BUF_MAX_LEN - 1 ) ) //Ԥ<><D4A4>1<EFBFBD><31><EFBFBD>ֽ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
strEsp8266_Fram_Record .Data_RX_BUF [ strEsp8266_Fram_Record .InfBit .FramLength ++ ] = ulRxData;
|
||||
}
|
||||
if ( USART_GetITStatus( macESP8266_USART, USART_IT_IDLE ) == SET ) //<2F><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
strEsp8266_Fram_Record .InfBit .FramFinishFlag = 1;
|
||||
ulRxData = USART_ReceiveData( macESP8266_USART ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־λ(<28>ȶ<EFBFBD>USART_SR<53><52>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>USART_DR)
|
||||
ucTcpClosedFlag = strstr ( strEsp8266_Fram_Record .Data_RX_BUF, "CLOSED\r\n" ) ? 1 : 0;
|
||||
}
|
||||
#elif (USE_RTOS == FREERTOS && ENABLE_FREERTOS_API_QUEUE_USART2_IRQ == 1)
|
||||
if (USART_GetITStatus(USART2, USART_IT_RXNE) == SET)
|
||||
{
|
||||
/* code */
|
||||
uint8_t ulRxData = (uint8_t)USART_ReceiveData(USART2);
|
||||
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
|
||||
// xQueueSendFromISR(xQueueUsart2IrqHdlr, &ulRxData, &xHigherPriorityTaskWoken);
|
||||
// if (xQueueSendFromISR(xQueueUsart2IrqHdlr, &ulRxData, &xHigherPriorityTaskWoken) != pdTRUE)
|
||||
// {
|
||||
// /* code */
|
||||
// vUsartSendString(USART3, "Queue Init Failed!");
|
||||
// }
|
||||
// <20><><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
||||
if(xQueueUsart2IrqHdlr != NULL) {
|
||||
if (xQueueSendFromISR(xQueueUsart2IrqHdlr, &ulRxData, &xHigherPriorityTaskWoken) != pdTRUE) {
|
||||
// <20><><EFBFBD>з<EFBFBD><D0B7><EFBFBD>ʧ<EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
|
||||
vUsartSendString(USART3, "Queue Full or Error!");
|
||||
}
|
||||
} else {
|
||||
vUsartSendString(USART3, "Queue Not Initialized!");
|
||||
}
|
||||
|
||||
xQueueSendFromISR(xQueueUsart2IrqHdlr, &ulRxData, &xHigherPriorityTaskWoken);
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD> */
|
||||
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
|
||||
#elif (USE_RTOS == OSAL)
|
||||
#endif
|
||||
USART_ClearITPendingBit(USART2, USART_IT_RXNE);
|
||||
}
|
||||
USART_ClearITPendingBit(USART2, USART_IT_RXNE);
|
||||
}
|
||||
#elif (USE_RTOS == FREERTOS && ENABLE_FREERTOS_API_QUEUE_USART2_IRQ == 0)
|
||||
uint8_t ulRxData;
|
||||
if ( USART_GetITStatus ( macESP8266_USART, USART_IT_RXNE ) != RESET )
|
||||
{
|
||||
ulRxData = USART_ReceiveData( macESP8266_USART );
|
||||
if ( strEsp8266_Fram_Record .InfBit .FramLength < ( RX_BUF_MAX_LEN - 1 ) ) //Ԥ<><D4A4>1<EFBFBD><31><EFBFBD>ֽ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
strEsp8266_Fram_Record .Data_RX_BUF [ strEsp8266_Fram_Record .InfBit .FramLength ++ ] = ulRxData;
|
||||
}
|
||||
if ( USART_GetITStatus( macESP8266_USART, USART_IT_IDLE ) == SET ) //<2F><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
strEsp8266_Fram_Record .InfBit .FramFinishFlag = 1;
|
||||
ulRxData = USART_ReceiveData( macESP8266_USART ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־λ(<28>ȶ<EFBFBD>USART_SR<53><52>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>USART_DR)
|
||||
ucTcpClosedFlag = strstr ( strEsp8266_Fram_Record .Data_RX_BUF, "CLOSED\r\n" ) ? 1 : 0;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -279,18 +292,18 @@ void USART2_IRQHandler(void)
|
||||
*/
|
||||
void USART3_IRQHandler(void)
|
||||
{
|
||||
if (USART_GetITStatus(USART3, USART_IT_RXNE) == SET)
|
||||
{
|
||||
/* code */
|
||||
uint8_t ulRxData = (uint8_t)USART_ReceiveData(USART3);
|
||||
#if (USE_RTOS == NONE)
|
||||
#elif (USE_RTOS == FREERTOS)
|
||||
#if (USE_RTOS == NONE)
|
||||
#elif (USE_RTOS == FREERTOS && ENABLE_FREERTOS_API_QUEUE_USART3_IRQ == 1)
|
||||
if (USART_GetITStatus(USART3, USART_IT_RXNE) == SET)
|
||||
{
|
||||
/* code */
|
||||
uint8_t ulRxData = (uint8_t)USART_ReceiveData(USART3);
|
||||
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
|
||||
xQueueSendFromISR(xQueueUsart3IrqHdlr, &ulRxData, &xHigherPriorityTaskWoken);
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD> */
|
||||
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
|
||||
#elif (USE_RTOS == OSAL)
|
||||
#endif
|
||||
USART_ClearITPendingBit(USART3, USART_IT_RXNE);
|
||||
}
|
||||
}
|
||||
#elif (USE_RTOS == FREERTOS && ENABLE_FREERTOS_API_QUEUE_USART3_IRQ == 0)
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user