Compare commits

..

No commits in common. "c11db2c9bf067322d97a19afd7eefb3a387ca302" and "1dacace57ad0ab50cea726ee9e8d2bd45c479c47" have entirely different histories.

6 changed files with 36 additions and 48 deletions

View File

@ -91,15 +91,15 @@ set(TARGET_CFLAGS_HARDWARE "-mcpu=cortex-m23 -mfloat-abi=soft -mthumb -mthumb-in
# Conditional flags
# DEBUG
#set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
#set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
#set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
#set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 -O2 -g")
#set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -O2 -g")
#set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -O2 -g")
set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
#set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
#set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
#set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
# RELEASE
set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O3") # -flto

View File

@ -2,7 +2,7 @@
MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 64K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 8K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 4K
}
ENTRY(Reset_Handler)

View File

@ -163,15 +163,15 @@ void USART1_IRQHandler(void) {
// static uint8_t rx_buffer[RX_BUFFER_SIZE];
if (RESET != usart_interrupt_flag_get(USART_PHY, USART_INT_FLAG_RBNE)) {
// usart_interrupt_flag_clear(USART_PHY, USART_INT_FLAG_RBNE);
usart_interrupt_flag_clear(USART_PHY, USART_INT_FLAG_RBNE);
uint8_t received_data = (uint8_t) usart_data_receive(USART_PHY);
// printf("%c", received_data);
// 将接收到的数据存储到缓冲区
printf("%c", received_data);
// // 将接收到的数据存储到缓冲区
// if (rx_index < RX_BUFFER_SIZE - 1) {
// rx_buffer[rx_index++] = received_data;
// }
store_char(received_data, &rx_buffer);
// store_char(received_data, &rx_buffer);
}
//
// if (RESET != usart_interrupt_flag_get(USART0, USART_INT_FLAG_IDLE)) {

View File

@ -6,8 +6,6 @@
*/
#include "main.h"
#include "newlib.h"
volatile uint8_t g_temperature_uint8[2] = {0};
volatile uint16_t g_capture_value;

View File

@ -18,20 +18,9 @@ static char *strchr_pointer = NULL;
static packet_state_t packet_state = PS_LEN;
// bool code_seen(char code) {
// // strchr_pointer = strchr(cmd_buffer[buf_index_r], code);
// return (strchr_pointer != NULL); //Return True if a character was found
// }
bool code_seen(char code) {
strchr_pointer = NULL;
for (int i = 0; cmd_buffer[buf_index_r][i] != '\0'; i++) {
if (cmd_buffer[buf_index_r][i] == code) {
strchr_pointer = &cmd_buffer[buf_index_r][i];
break;
}
}
return (strchr_pointer != NULL); // Return True if a character was found
strchr_pointer = strchr(cmd_buffer[buf_index_r], code);
return (strchr_pointer != NULL); //Return True if a character was found
}
float code_value(void) {
@ -160,7 +149,6 @@ void start_communication(void) {
}
if (buf_length) {
printf("DONE\r\n");
prcess_command();
buf_length--;
buf_index_r = (buf_index_r + 1) % BUF_SIZE;
@ -190,36 +178,34 @@ void get_command(void) {
} else {
serial_count = 0;
}
break;
break;
case PS_TYPE:
packet_type = serial_char;
check_sum += serial_char;
packet_state = PS_LEN;
break;
check_sum += serial_char;
packet_state = PS_LEN;
break;
case PS_LEN:
check_sum += serial_char;
packet_len = serial_char;
packet_state = PS_PAYLOAD;
break;
packet_len = serial_char;
packet_state = PS_PAYLOAD;
break;
case PS_PAYLOAD:
check_sum += serial_char;
cmd_buffer[buf_index_w][serial_count++] = serial_char;
if (serial_count >= packet_len) {
packet_state = PS_CRC;
}
break;
cmd_buffer[buf_index_w][serial_count++] = serial_char;
if (serial_count >= packet_len) {
packet_state = PS_CRC;
}
break;
case PS_CRC:
packet_state = PS_NULL;
if (!serial_count || check_sum != serial_char) {
serial_count = 0;
return;
}
cmd_buffer[buf_index_w][serial_count] = 0;
buf_index_w = (buf_index_w + 1) % BUF_SIZE;
buf_length++;
if (!serial_count || check_sum != serial_char) {
serial_count = 0;
default:
break;
return;
}
cmd_buffer[buf_index_w][serial_count] = 0;
buf_index_w = (buf_index_w + 1) % BUF_SIZE;
buf_length++;
serial_count = 0;
}
}
}

View File

@ -27,6 +27,10 @@ void usart_config(void)
usart_receive_config(USART_PHY, USART_RECEIVE_ENABLE);
usart_transmit_config(USART_PHY, USART_TRANSMIT_ENABLE);
usart_deinit(USART_PHY);
usart_baudrate_set(USART_PHY, 115200U);
usart_receive_config(USART_PHY, USART_RECEIVE_ENABLE);
usart_transmit_config(USART_PHY, USART_TRANSMIT_ENABLE);
nvic_irq_enable(USART_PHY_IRQ, 0);
usart_interrupt_enable(USART_PHY, USART_INT_RBNE);
// usart_interrupt_enable(USART_PHY, USART_INT_IDLE);