[Upload Code]:add uart3 to output

This commit is contained in:
Brin 2025-06-03 11:10:22 +08:00
parent fb8308188d
commit 0949262f57
24 changed files with 4400 additions and 4172 deletions

View File

@ -157,7 +157,7 @@
} }
}, },
"activations_alignment": 4, "activations_alignment": 4,
"arguments": "generate --target stm32f4 --name model -m D:/Job_Work/Code/Z_Python/myEnv/model2.tflite --compression high --verbosity 1 -O ram --workspace C:/Users/admin/AppData/Local/Temp/mxAI_workspace7271294798310013877290066913389571 --output C:/Users/admin/.stm32cubemx/model_output", "arguments": "generate --target stm32f4 --name model -m D:/Job_Work/Code/Z_Python/myEnv/model2.tflite --compression high --verbosity 1 -O ram --workspace C:/Users/admin/AppData/Local/Temp/mxAI_workspace50778756231690010561018843790973718 --output C:/Users/admin/.stm32cubemx/model_output",
"c_activations_count": 1, "c_activations_count": 1,
"c_arrays": [ "c_arrays": [
{ {
@ -2193,7 +2193,7 @@
] ]
}, },
"data_alignment": 4, "data_alignment": 4,
"date_time": "2025-05-29T10:15:11+0800", "date_time": "2025-06-03T11:05:51+0800",
"inputs": [ "inputs": [
"serving_default_input0_output" "serving_default_input0_output"
], ],

View File

@ -1554,44 +1554,44 @@
], ],
"environment": { "environment": {
"generated_model": { "generated_model": {
"generated_time": "2025-05-29T10:15:11+0800", "generated_time": "2025-06-03T11:05:51+0800",
"model_files": [ "model_files": [
{ {
"name": "model_data_params.h", "name": "model_data_params.h",
"signature": "0xbf672a4e1021e93f3ce341f8293b7f17" "signature": "0x6f8f4fd7d97c7d31dd4fb2bacf022f2a"
}, },
{ {
"name": "model_data_params.c", "name": "model_data_params.c",
"signature": "0x4003b0ba9a2b4716ec4346adda9cfa93" "signature": "0x1107d25643d9bb80bb64a97f268d8c9e"
}, },
{ {
"name": "model_data.h", "name": "model_data.h",
"signature": "0xe75994a4124fb95bd3b37ca894a20ae1" "signature": "0x33f5302696bc3469822a59c995dad33c"
}, },
{ {
"name": "model_data.c", "name": "model_data.c",
"signature": "0x824aacf0231ce5cc0ff0ea6b3434f863" "signature": "0xe5ed74e8746f7db2cd162e3a744c6a0f"
}, },
{ {
"name": "model_config.h", "name": "model_config.h",
"signature": "0xabc1ec1ca20b671d945c8385d7524dc2" "signature": "0xc8a081279546fb4ea9c445b01959bd41"
}, },
{ {
"name": "model.h", "name": "model.h",
"signature": "0xcc1869ac0d8ad2bc97bb8dc83ec3b618" "signature": "0x69f8c1654660a5d741f34e559a0d0ef3"
}, },
{ {
"name": "model.c", "name": "model.c",
"signature": "0xeadf1b87ef2f0769f5398a910285fe49" "signature": "0xa1713d711411a6737faffe860c4b1d89"
} }
], ],
"name": "model" "name": "model"
}, },
"network_signature": "0x80fcc2ecf7b92835", "network_signature": "0xf8d76fcffdf84742",
"test_name": "", "test_name": "",
"tools": [ "tools": [
{ {
"arguments": "generate --target stm32f4 --name model -m D:/Job_Work/Code/Z_Python/myEnv/model2.tflite --compression high --verbosity 1 -O ram --workspace C:/Users/admin/AppData/Local/Temp/mxAI_workspace7271294798310013877290066913389571 --output C:/Users/admin/.stm32cubemx/model_output", "arguments": "generate --target stm32f4 --name model -m D:/Job_Work/Code/Z_Python/myEnv/model2.tflite --compression high --verbosity 1 -O ram --workspace C:/Users/admin/AppData/Local/Temp/mxAI_workspace50778756231690010561018843790973718 --output C:/Users/admin/.stm32cubemx/model_output",
"environment": [ "environment": [
"STATS_TYPE=X-CUBE-AI" "STATS_TYPE=X-CUBE-AI"
], ],

View File

@ -1,7 +1,7 @@
{ {
"_allocate_inputs": 4, "_allocate_inputs": 4,
"_allocate_outputs": 4, "_allocate_outputs": 4,
"cli_parameters": "generate --target stm32f4 --name model -m D:/Job_Work/Code/Z_Python/myEnv/model2.tflite --compression high --verbosity 1 -O ram --workspace C:/Users/admin/AppData/Local/Temp/mxAI_workspace7271294798310013877290066913389571 --output C:/Users/admin/.stm32cubemx/model_output", "cli_parameters": "generate --target stm32f4 --name model -m D:/Job_Work/Code/Z_Python/myEnv/model2.tflite --compression high --verbosity 1 -O ram --workspace C:/Users/admin/AppData/Local/Temp/mxAI_workspace50778756231690010561018843790973718 --output C:/Users/admin/.stm32cubemx/model_output",
"cli_version": { "cli_version": {
"extra": "20049", "extra": "20049",
"major": 2, "major": 2,
@ -11,7 +11,7 @@
"cli_version_str": "2.0.0-20049", "cli_version_str": "2.0.0-20049",
"code_size": 0, "code_size": 0,
"compression": [], "compression": [],
"date_time": "2025-05-29T10:15:11+0800", "date_time": "2025-06-03T11:05:51+0800",
"error": 0, "error": 0,
"error_str": [], "error_str": [],
"exec_cmd": "generate", "exec_cmd": "generate",

View File

@ -47,6 +47,7 @@ extern "C" {
/* USER CODE BEGIN EC */ /* USER CODE BEGIN EC */
#define SENSOR_RX_BUFFER_SIZE 1024 #define SENSOR_RX_BUFFER_SIZE 1024
#define OUTPUT_RX_BUFFER_SIZE 512
/* USER CODE END EC */ /* USER CODE END EC */
/* Exported macro ------------------------------------------------------------*/ /* Exported macro ------------------------------------------------------------*/
@ -59,6 +60,9 @@ extern uint8_t CAN_TX_BUFFER[8];
extern uint16_t sensor_uart_rx_len; extern uint16_t sensor_uart_rx_len;
extern uint8_t sensor_uart_rx_buffer[SENSOR_RX_BUFFER_SIZE]; extern uint8_t sensor_uart_rx_buffer[SENSOR_RX_BUFFER_SIZE];
extern uint16_t output_uart_rx_len;
extern uint8_t output_uart_rx_buffer[OUTPUT_RX_BUFFER_SIZE];
/* USER CODE END EM */ /* USER CODE END EM */
/* Exported functions prototypes ---------------------------------------------*/ /* Exported functions prototypes ---------------------------------------------*/

View File

@ -51,9 +51,11 @@ void MemManage_Handler(void);
void BusFault_Handler(void); void BusFault_Handler(void);
void UsageFault_Handler(void); void UsageFault_Handler(void);
void DebugMon_Handler(void); void DebugMon_Handler(void);
void DMA1_Stream1_IRQHandler(void);
void DMA1_Stream5_IRQHandler(void); void DMA1_Stream5_IRQHandler(void);
void CAN1_RX0_IRQHandler(void); void CAN1_RX0_IRQHandler(void);
void USART2_IRQHandler(void); void USART2_IRQHandler(void);
void USART3_IRQHandler(void);
/* USER CODE BEGIN EFP */ /* USER CODE BEGIN EFP */
/* USER CODE END EFP */ /* USER CODE END EFP */

View File

@ -34,6 +34,8 @@ extern "C" {
extern UART_HandleTypeDef huart2; extern UART_HandleTypeDef huart2;
extern UART_HandleTypeDef huart3;
extern UART_HandleTypeDef huart6; extern UART_HandleTypeDef huart6;
/* USER CODE BEGIN Private defines */ /* USER CODE BEGIN Private defines */
@ -41,6 +43,7 @@ extern UART_HandleTypeDef huart6;
/* USER CODE END Private defines */ /* USER CODE END Private defines */
void MX_USART2_UART_Init(void); void MX_USART2_UART_Init(void);
void MX_USART3_UART_Init(void);
void MX_USART6_UART_Init(void); void MX_USART6_UART_Init(void);
/* USER CODE BEGIN Prototypes */ /* USER CODE BEGIN Prototypes */

View File

@ -43,6 +43,9 @@ void MX_DMA_Init(void)
__HAL_RCC_DMA1_CLK_ENABLE(); __HAL_RCC_DMA1_CLK_ENABLE();
/* DMA interrupt init */ /* DMA interrupt init */
/* DMA1_Stream1_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn);
/* DMA1_Stream5_IRQn interrupt configuration */ /* DMA1_Stream5_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0); HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn); HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);

View File

@ -55,6 +55,9 @@ uint8_t CAN_TX_BUFFER[8] = {0X01, 0X02, 0X03, 0X04, 0X05, 0X06, 0X07, 0X08};
// UART // UART
uint16_t sensor_uart_rx_len = 0; uint16_t sensor_uart_rx_len = 0;
uint8_t sensor_uart_rx_buffer[SENSOR_RX_BUFFER_SIZE]; // DMA搬运目标缓存 uint8_t sensor_uart_rx_buffer[SENSOR_RX_BUFFER_SIZE]; // DMA搬运目标缓存
uint16_t output_uart_rx_len = 0;
uint8_t output_uart_rx_buffer[OUTPUT_RX_BUFFER_SIZE]; // DMA搬运目标缓存
/* USER CODE END PV */ /* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/
@ -100,11 +103,17 @@ int main(void)
MX_DMA_Init(); MX_DMA_Init();
MX_USART2_UART_Init(); MX_USART2_UART_Init();
MX_CAN1_Init(); MX_CAN1_Init();
MX_USART3_UART_Init();
MX_X_CUBE_AI_Init(); MX_X_CUBE_AI_Init();
/* USER CODE BEGIN 2 */ /* USER CODE BEGIN 2 */
__HAL_UART_ENABLE_IT(&huart2, UART_IT_IDLE); // 使能串口IDLE中断 // 使能串口IDLE中断
__HAL_UART_ENABLE_IT(&huart2, UART_IT_IDLE);
__HAL_UART_ENABLE_IT(&huart3, UART_IT_IDLE);
// 开启串口接收DMA
HAL_UART_Receive_DMA(&huart2, sensor_uart_rx_buffer, HAL_UART_Receive_DMA(&huart2, sensor_uart_rx_buffer,
SENSOR_RX_BUFFER_SIZE); // 开启串口接收DMA SENSOR_RX_BUFFER_SIZE);
HAL_UART_Receive_DMA(&huart3, output_uart_rx_buffer,
OUTPUT_RX_BUFFER_SIZE);
CAN_Filter_Init(); // 过滤器初始化 CAN_Filter_Init(); // 过滤器初始化
/* USER CODE END 2 */ /* USER CODE END 2 */
@ -153,7 +162,8 @@ void SystemClock_Config(void)
/** Initializes the CPU, AHB and APB buses clocks /** Initializes the CPU, AHB and APB buses clocks
*/ */
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;

View File

@ -58,7 +58,9 @@
/* External variables --------------------------------------------------------*/ /* External variables --------------------------------------------------------*/
extern CAN_HandleTypeDef hcan1; extern CAN_HandleTypeDef hcan1;
extern DMA_HandleTypeDef hdma_usart2_rx; extern DMA_HandleTypeDef hdma_usart2_rx;
extern DMA_HandleTypeDef hdma_usart3_rx;
extern UART_HandleTypeDef huart2; extern UART_HandleTypeDef huart2;
extern UART_HandleTypeDef huart3;
/* USER CODE BEGIN EV */ /* USER CODE BEGIN EV */
/* USER CODE END EV */ /* USER CODE END EV */
@ -147,6 +149,20 @@ void DebugMon_Handler(void)
/* please refer to the startup file (startup_stm32f4xx.s). */ /* please refer to the startup file (startup_stm32f4xx.s). */
/******************************************************************************/ /******************************************************************************/
/**
* @brief This function handles DMA1 stream1 global interrupt.
*/
void DMA1_Stream1_IRQHandler(void)
{
/* USER CODE BEGIN DMA1_Stream1_IRQn 0 */
/* USER CODE END DMA1_Stream1_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart3_rx);
/* USER CODE BEGIN DMA1_Stream1_IRQn 1 */
/* USER CODE END DMA1_Stream1_IRQn 1 */
}
/** /**
* @brief This function handles DMA1 stream5 global interrupt. * @brief This function handles DMA1 stream5 global interrupt.
*/ */
@ -201,6 +217,31 @@ void USART2_IRQHandler(void)
/* USER CODE END USART2_IRQn 1 */ /* USER CODE END USART2_IRQn 1 */
} }
/**
* @brief This function handles USART3 global interrupt.
*/
void USART3_IRQHandler(void)
{
/* USER CODE BEGIN USART3_IRQn 0 */
if (__HAL_UART_GET_FLAG(&huart3, UART_FLAG_IDLE) != RESET)
{ // 判断是否产生IDLE中断
__HAL_UART_CLEAR_IDLEFLAG(&huart3); // 清除IDLE中断标志位
HAL_UART_DMAStop(&huart3); // 停止DMA接收
uint16_t received_length = SENSOR_RX_BUFFER_SIZE - __HAL_DMA_GET_COUNTER(huart3.hdmarx); // 计算实际接收到的数据长度
// 业务代码
HAL_UART_Transmit(&huart3, output_uart_rx_buffer, received_length, 100); // 发送接收到的数据 echo
HAL_UART_Receive_DMA(&huart3, output_uart_rx_buffer, SENSOR_RX_BUFFER_SIZE); // 开启DMA接收
output_uart_rx_len = received_length;
// 发送事件通知处理线程
// rt_event_send(&uart_rx_event, 0x01);
}
/* USER CODE END USART3_IRQn 0 */
HAL_UART_IRQHandler(&huart3);
/* USER CODE BEGIN USART3_IRQn 1 */
/* USER CODE END USART3_IRQn 1 */
}
/* USER CODE BEGIN 1 */ /* USER CODE BEGIN 1 */
/* USER CODE END 1 */ /* USER CODE END 1 */

View File

@ -25,8 +25,10 @@
/* USER CODE END 0 */ /* USER CODE END 0 */
UART_HandleTypeDef huart2; UART_HandleTypeDef huart2;
UART_HandleTypeDef huart3;
UART_HandleTypeDef huart6; UART_HandleTypeDef huart6;
DMA_HandleTypeDef hdma_usart2_rx; DMA_HandleTypeDef hdma_usart2_rx;
DMA_HandleTypeDef hdma_usart3_rx;
/* USART2 init function */ /* USART2 init function */
@ -56,6 +58,35 @@ void MX_USART2_UART_Init(void)
/* USER CODE END USART2_Init 2 */ /* USER CODE END USART2_Init 2 */
}
/* USART3 init function */
void MX_USART3_UART_Init(void)
{
/* USER CODE BEGIN USART3_Init 0 */
/* USER CODE END USART3_Init 0 */
/* USER CODE BEGIN USART3_Init 1 */
/* USER CODE END USART3_Init 1 */
huart3.Instance = USART3;
huart3.Init.BaudRate = 115200;
huart3.Init.WordLength = UART_WORDLENGTH_8B;
huart3.Init.StopBits = UART_STOPBITS_1;
huart3.Init.Parity = UART_PARITY_NONE;
huart3.Init.Mode = UART_MODE_TX_RX;
huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart3.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart3) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN USART3_Init 2 */
/* USER CODE END USART3_Init 2 */
} }
/* USART6 init function */ /* USART6 init function */
@ -137,6 +168,52 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART2_MspInit 1 */ /* USER CODE END USART2_MspInit 1 */
} }
else if(uartHandle->Instance==USART3)
{
/* USER CODE BEGIN USART3_MspInit 0 */
/* USER CODE END USART3_MspInit 0 */
/* USART3 clock enable */
__HAL_RCC_USART3_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
/**USART3 GPIO Configuration
PC10 ------> USART3_TX
PC11 ------> USART3_RX
*/
GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/* USART3 DMA Init */
/* USART3_RX Init */
hdma_usart3_rx.Instance = DMA1_Stream1;
hdma_usart3_rx.Init.Channel = DMA_CHANNEL_4;
hdma_usart3_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
hdma_usart3_rx.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_usart3_rx.Init.MemInc = DMA_MINC_ENABLE;
hdma_usart3_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
hdma_usart3_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
hdma_usart3_rx.Init.Mode = DMA_CIRCULAR;
hdma_usart3_rx.Init.Priority = DMA_PRIORITY_LOW;
hdma_usart3_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
if (HAL_DMA_Init(&hdma_usart3_rx) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(uartHandle,hdmarx,hdma_usart3_rx);
/* USART3 interrupt Init */
HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(USART3_IRQn);
/* USER CODE BEGIN USART3_MspInit 1 */
/* USER CODE END USART3_MspInit 1 */
}
else if(uartHandle->Instance==USART6) else if(uartHandle->Instance==USART6)
{ {
/* USER CODE BEGIN USART6_MspInit 0 */ /* USER CODE BEGIN USART6_MspInit 0 */
@ -189,6 +266,29 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
/* USER CODE END USART2_MspDeInit 1 */ /* USER CODE END USART2_MspDeInit 1 */
} }
else if(uartHandle->Instance==USART3)
{
/* USER CODE BEGIN USART3_MspDeInit 0 */
/* USER CODE END USART3_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_USART3_CLK_DISABLE();
/**USART3 GPIO Configuration
PC10 ------> USART3_TX
PC11 ------> USART3_RX
*/
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11);
/* USART3 DMA DeInit */
HAL_DMA_DeInit(uartHandle->hdmarx);
/* USART3 interrupt Deinit */
HAL_NVIC_DisableIRQ(USART3_IRQn);
/* USER CODE BEGIN USART3_MspDeInit 1 */
/* USER CODE END USART3_MspDeInit 1 */
}
else if(uartHandle->Instance==USART6) else if(uartHandle->Instance==USART6)
{ {
/* USER CODE BEGIN USART6_MspDeInit 0 */ /* USER CODE BEGIN USART6_MspDeInit 0 */

View File

@ -22,17 +22,17 @@
<View> <View>
<WinId>38003</WinId> <WinId>38003</WinId>
<ViewName>Registers</ViewName> <ViewName>Registers</ViewName>
<TableColWidths>130 131</TableColWidths> <TableColWidths>76 100</TableColWidths>
</View> </View>
<View> <View>
<WinId>346</WinId> <WinId>346</WinId>
<ViewName>Code Coverage</ViewName> <ViewName>Code Coverage</ViewName>
<TableColWidths>744 160</TableColWidths> <TableColWidths>165 739</TableColWidths>
</View> </View>
<View> <View>
<WinId>204</WinId> <WinId>204</WinId>
<ViewName>Performance Analyzer</ViewName> <ViewName>Performance Analyzer</ViewName>
<TableColWidths>904</TableColWidths> <TableColWidths>55 135 135 579</TableColWidths>
</View> </View>
</SECTreeCtrl> </SECTreeCtrl>
@ -3622,9 +3622,9 @@
</Doc> </Doc>
<Doc> <Doc>
<Name>..\Core\Src\myEdge_ai_app.c</Name> <Name>..\Core\Src\myEdge_ai_app.c</Name>
<ColumnNumber>1</ColumnNumber> <ColumnNumber>5</ColumnNumber>
<TopLine>283</TopLine> <TopLine>283</TopLine>
<CurrentLine>293</CurrentLine> <CurrentLine>288</CurrentLine>
<Folding>1</Folding> <Folding>1</Folding>
<ContractedFolders></ContractedFolders> <ContractedFolders></ContractedFolders>
<PaneID>0</PaneID> <PaneID>0</PaneID>

View File

@ -153,7 +153,24 @@
<Name>-U-O142 -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F405RGTx$CMSIS\Flash\STM32F4xx_1024.FLM)</Name> <Name>-U-O142 -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F405RGTx$CMSIS\Flash\STM32F4xx_1024.FLM)</Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint/> <Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>226</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>../Core/Src/stm32f4xx_it.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
</Breakpoint>
<WatchWindow1> <WatchWindow1>
<Ww> <Ww>
<count>0</count> <count>0</count>
@ -300,6 +317,18 @@
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\Core\Src\mcu_body_analyzer.c</PathWithFileName>
<FilenameWithoutPath>mcu_body_analyzer.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/main.c</PathWithFileName> <PathWithFileName>../Core/Src/main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath> <FilenameWithoutPath>main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
@ -307,7 +336,7 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>7</FileNumber> <FileNumber>8</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -319,7 +348,7 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>8</FileNumber> <FileNumber>9</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -331,7 +360,7 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>9</FileNumber> <FileNumber>10</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -343,7 +372,7 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>10</FileNumber> <FileNumber>11</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -355,7 +384,7 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>11</FileNumber> <FileNumber>12</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -367,7 +396,7 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>12</FileNumber> <FileNumber>13</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -377,18 +406,6 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>13</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Src\mcu_body_analyzer.c</PathWithFileName>
<FilenameWithoutPath>mcu_body_analyzer.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>

View File

@ -360,7 +360,7 @@
</VariousControls> </VariousControls>
</Aads> </Aads>
<LDads> <LDads>
<umfTarg>1</umfTarg> <umfTarg>0</umfTarg>
<Ropi>0</Ropi> <Ropi>0</Ropi>
<Rwpi>0</Rwpi> <Rwpi>0</Rwpi>
<noStLib>0</noStLib> <noStLib>0</noStLib>
@ -412,6 +412,11 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\Core\Src\myCANBusDeal.c</FilePath> <FilePath>..\Core\Src\myCANBusDeal.c</FilePath>
</File> </File>
<File>
<FileName>mcu_body_analyzer.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Src\mcu_body_analyzer.c</FilePath>
</File>
<File> <File>
<FileName>main.c</FileName> <FileName>main.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -600,11 +605,6 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>../Core/Src/stm32f4xx_hal_msp.c</FilePath> <FilePath>../Core/Src/stm32f4xx_hal_msp.c</FilePath>
</File> </File>
<File>
<FileName>mcu_body_analyzer.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Src\mcu_body_analyzer.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
****************************************************************************** ******************************************************************************
* @file model.c * @file model.c
* @author AST Embedded Analytics Research Platform * @author AST Embedded Analytics Research Platform
* @date 2025-05-29T10:15:11+0800 * @date 2025-06-03T11:05:51+0800
* @brief AI Tool Automatic Code Generator for Embedded NN computing * @brief AI Tool Automatic Code Generator for Embedded NN computing
****************************************************************************** ******************************************************************************
* @attention * @attention
@ -42,7 +42,7 @@
#endif #endif
#undef AI_TOOLS_DATE_TIME #undef AI_TOOLS_DATE_TIME
#define AI_TOOLS_DATE_TIME "2025-05-29T10:15:11+0800" #define AI_TOOLS_DATE_TIME "2025-06-03T11:05:51+0800"
#undef AI_TOOLS_COMPILE_TIME #undef AI_TOOLS_COMPILE_TIME
#define AI_TOOLS_COMPILE_TIME __DATE__ " " __TIME__ #define AI_TOOLS_COMPILE_TIME __DATE__ " " __TIME__
@ -1110,7 +1110,7 @@ AI_NETWORK_OBJ_DECLARE(
11904, NULL, NULL), 11904, NULL, NULL),
AI_TENSOR_LIST_IO_OBJ_INIT(AI_FLAG_NONE, AI_MODEL_IN_NUM, &serving_default_input0_output), AI_TENSOR_LIST_IO_OBJ_INIT(AI_FLAG_NONE, AI_MODEL_IN_NUM, &serving_default_input0_output),
AI_TENSOR_LIST_IO_OBJ_INIT(AI_FLAG_NONE, AI_MODEL_OUT_NUM, &nl_20_output), AI_TENSOR_LIST_IO_OBJ_INIT(AI_FLAG_NONE, AI_MODEL_OUT_NUM, &nl_20_output),
&conv2d_4_layer, 0x80fcc2ec, NULL) &conv2d_4_layer, 0xf8d76fcf, NULL)
#else #else
@ -1130,7 +1130,7 @@ AI_NETWORK_OBJ_DECLARE(
), ),
AI_TENSOR_LIST_IO_OBJ_INIT(AI_FLAG_NONE, AI_MODEL_IN_NUM, &serving_default_input0_output), AI_TENSOR_LIST_IO_OBJ_INIT(AI_FLAG_NONE, AI_MODEL_IN_NUM, &serving_default_input0_output),
AI_TENSOR_LIST_IO_OBJ_INIT(AI_FLAG_NONE, AI_MODEL_OUT_NUM, &nl_20_output), AI_TENSOR_LIST_IO_OBJ_INIT(AI_FLAG_NONE, AI_MODEL_OUT_NUM, &nl_20_output),
&conv2d_4_layer, 0x80fcc2ec, NULL) &conv2d_4_layer, 0xf8d76fcf, NULL)
#endif /*(AI_TOOLS_API_VERSION < AI_TOOLS_API_VERSION_1_5)*/ #endif /*(AI_TOOLS_API_VERSION < AI_TOOLS_API_VERSION_1_5)*/
@ -1335,7 +1335,7 @@ ai_bool ai_model_get_info(
.params = AI_STRUCT_INIT, .params = AI_STRUCT_INIT,
.activations = AI_STRUCT_INIT, .activations = AI_STRUCT_INIT,
.n_nodes = 0, .n_nodes = 0,
.signature = 0x80fcc2ec, .signature = 0xf8d76fcf,
}; };
if (!ai_platform_api_get_network_report(network, &r)) return false; if (!ai_platform_api_get_network_report(network, &r)) return false;
@ -1383,7 +1383,7 @@ ai_bool ai_model_get_report(
.map_weights = AI_STRUCT_INIT, .map_weights = AI_STRUCT_INIT,
.map_activations = AI_STRUCT_INIT, .map_activations = AI_STRUCT_INIT,
.n_nodes = 0, .n_nodes = 0,
.signature = 0x80fcc2ec, .signature = 0xf8d76fcf,
}; };
if (!ai_platform_api_get_network_report(network, &r)) return false; if (!ai_platform_api_get_network_report(network, &r)) return false;

View File

@ -2,7 +2,7 @@
****************************************************************************** ******************************************************************************
* @file model.h * @file model.h
* @author AST Embedded Analytics Research Platform * @author AST Embedded Analytics Research Platform
* @date 2025-05-29T10:15:11+0800 * @date 2025-06-03T11:05:51+0800
* @brief AI Tool Automatic Code Generator for Embedded NN computing * @brief AI Tool Automatic Code Generator for Embedded NN computing
****************************************************************************** ******************************************************************************
* @attention * @attention

View File

@ -3,7 +3,7 @@
****************************************************************************** ******************************************************************************
* @file model_config.h * @file model_config.h
* @author AST Embedded Analytics Research Platform * @author AST Embedded Analytics Research Platform
* @date 2025-05-29T10:15:11+0800 * @date 2025-06-03T11:05:51+0800
* @brief AI Tool Automatic Code Generator for Custom Layers Implementation * @brief AI Tool Automatic Code Generator for Custom Layers Implementation
****************************************************************************** ******************************************************************************
* @attention * @attention

View File

@ -2,7 +2,7 @@
****************************************************************************** ******************************************************************************
* @file model_data.c * @file model_data.c
* @author AST Embedded Analytics Research Platform * @author AST Embedded Analytics Research Platform
* @date 2025-05-29T10:15:11+0800 * @date 2025-06-03T11:05:51+0800
* @brief AI Tool Automatic Code Generator for Embedded NN computing * @brief AI Tool Automatic Code Generator for Embedded NN computing
****************************************************************************** ******************************************************************************
* @attention * @attention

View File

@ -2,7 +2,7 @@
****************************************************************************** ******************************************************************************
* @file model_data.h * @file model_data.h
* @author AST Embedded Analytics Research Platform * @author AST Embedded Analytics Research Platform
* @date 2025-05-29T10:15:11+0800 * @date 2025-06-03T11:05:51+0800
* @brief AI Tool Automatic Code Generator for Embedded NN computing * @brief AI Tool Automatic Code Generator for Embedded NN computing
****************************************************************************** ******************************************************************************
* Copyright (c) 2025 STMicroelectronics. * Copyright (c) 2025 STMicroelectronics.

View File

@ -2,7 +2,7 @@
****************************************************************************** ******************************************************************************
* @file model_data_params.c * @file model_data_params.c
* @author AST Embedded Analytics Research Platform * @author AST Embedded Analytics Research Platform
* @date 2025-05-29T10:15:11+0800 * @date 2025-06-03T11:05:51+0800
* @brief AI Tool Automatic Code Generator for Embedded NN computing * @brief AI Tool Automatic Code Generator for Embedded NN computing
****************************************************************************** ******************************************************************************
* Copyright (c) 2025 STMicroelectronics. * Copyright (c) 2025 STMicroelectronics.

View File

@ -2,7 +2,7 @@
****************************************************************************** ******************************************************************************
* @file model_data_params.h * @file model_data_params.h
* @author AST Embedded Analytics Research Platform * @author AST Embedded Analytics Research Platform
* @date 2025-05-29T10:15:11+0800 * @date 2025-06-03T11:05:51+0800
* @brief AI Tool Automatic Code Generator for Embedded NN computing * @brief AI Tool Automatic Code Generator for Embedded NN computing
****************************************************************************** ******************************************************************************
* Copyright (c) 2025 STMicroelectronics. * Copyright (c) 2025 STMicroelectronics.

View File

@ -1,9 +1,9 @@
ST Edge AI Core v2.0.0-20049 ST Edge AI Core v2.0.0-20049
Created date : 2025-05-29 10:15:14 Created date : 2025-06-03 11:05:53
Parameters : generate --target stm32f4 --name model -m D:/Job_Work/Code/Z_Python/myEnv/model2.tflite --compression high --verbosity 1 -O ram --workspace C:/Users/admin/AppData/Local/Temp/mxAI_workspace7271294798310013877290066913389571 --output C:/Users/admin/.stm32cubemx/model_output Parameters : generate --target stm32f4 --name model -m D:/Job_Work/Code/Z_Python/myEnv/model2.tflite --compression high --verbosity 1 -O ram --workspace C:/Users/admin/AppData/Local/Temp/mxAI_workspace50778756231690010561018843790973718 --output C:/Users/admin/.stm32cubemx/model_output
Exec/report summary (generate) Exec/report summary (generate)
------------------------------------------------------------------------------------------------------------ -------------------------------------------------------------------------------------------------------------
model file : D:\Job_Work\Code\Z_Python\myEnv\model2.tflite model file : D:\Job_Work\Code\Z_Python\myEnv\model2.tflite
type : tflite type : tflite
c_name : model c_name : model
@ -11,20 +11,20 @@ compression : high
options : allocate-inputs, allocate-outputs options : allocate-inputs, allocate-outputs
optimization : ram optimization : ram
target/series : stm32f4 target/series : stm32f4
workspace dir : C:\Users\admin\AppData\Local\Temp\mxAI_workspace7271294798310013877290066913389571 workspace dir : C:\Users\admin\AppData\Local\Temp\mxAI_workspace50778756231690010561018843790973718
output dir : C:\Users\admin\.stm32cubemx\model_output output dir : C:\Users\admin\.stm32cubemx\model_output
model_fmt : float model_fmt : float
model_name : model2 model_name : model2
model_hash : 0x02dd23f831c7bbf9c5b10eba7342e3d2 model_hash : 0x02dd23f831c7bbf9c5b10eba7342e3d2
params # : 4,210 items (16.45 KiB) params # : 4,210 items (16.45 KiB)
------------------------------------------------------------------------------------------------------------ -------------------------------------------------------------------------------------------------------------
input 1/1 : 'serving_default_input0', f32(1x260), 1.02 KBytes, activations input 1/1 : 'serving_default_input0', f32(1x260), 1.02 KBytes, activations
output 1/1 : 'nl_20', f32(1x2), 8 Bytes, activations output 1/1 : 'nl_20', f32(1x2), 8 Bytes, activations
macc : 156,480 macc : 156,480
weights (ro) : 14,936 B (14.59 KiB) (1 segment) / -1,904(-11.3%) vs float model weights (ro) : 14,936 B (14.59 KiB) (1 segment) / -1,904(-11.3%) vs float model
activations (rw) : 11,904 B (11.62 KiB) (1 segment) * activations (rw) : 11,904 B (11.62 KiB) (1 segment) *
ram (total) : 11,904 B (11.62 KiB) = 11,904 + 0 + 0 ram (total) : 11,904 B (11.62 KiB) = 11,904 + 0 + 0
------------------------------------------------------------------------------------------------------------ -------------------------------------------------------------------------------------------------------------
(*) 'input'/'output' buffers can be used from the activations buffer (*) 'input'/'output' buffers can be used from the activations buffer
Model name - model2 Model name - model2

View File

@ -10,7 +10,8 @@ CAN1.IPParameters=CalculateTimeQuantum,CalculateTimeBit,CalculateBaudRate,Presca
CAN1.Mode=CAN_MODE_NORMAL CAN1.Mode=CAN_MODE_NORMAL
CAN1.Prescaler=21 CAN1.Prescaler=21
Dma.Request0=USART2_RX Dma.Request0=USART2_RX
Dma.RequestsNb=1 Dma.Request1=USART3_RX
Dma.RequestsNb=2
Dma.USART2_RX.0.Direction=DMA_PERIPH_TO_MEMORY Dma.USART2_RX.0.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART2_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE Dma.USART2_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART2_RX.0.Instance=DMA1_Stream5 Dma.USART2_RX.0.Instance=DMA1_Stream5
@ -21,6 +22,16 @@ Dma.USART2_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART2_RX.0.PeriphInc=DMA_PINC_DISABLE Dma.USART2_RX.0.PeriphInc=DMA_PINC_DISABLE
Dma.USART2_RX.0.Priority=DMA_PRIORITY_LOW Dma.USART2_RX.0.Priority=DMA_PRIORITY_LOW
Dma.USART2_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode Dma.USART2_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART3_RX.1.Direction=DMA_PERIPH_TO_MEMORY
Dma.USART3_RX.1.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART3_RX.1.Instance=DMA1_Stream1
Dma.USART3_RX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART3_RX.1.MemInc=DMA_MINC_ENABLE
Dma.USART3_RX.1.Mode=DMA_CIRCULAR
Dma.USART3_RX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART3_RX.1.PeriphInc=DMA_PINC_DISABLE
Dma.USART3_RX.1.Priority=DMA_PRIORITY_LOW
Dma.USART3_RX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
File.Version=6 File.Version=6
GPIO.groupedBy=Group By Peripherals GPIO.groupedBy=Group By Peripherals
KeepUserPlacement=false KeepUserPlacement=false
@ -32,19 +43,22 @@ Mcu.IP2=NVIC
Mcu.IP3=RCC Mcu.IP3=RCC
Mcu.IP4=SYS Mcu.IP4=SYS
Mcu.IP5=USART2 Mcu.IP5=USART2
Mcu.IP6=USART6 Mcu.IP6=USART3
Mcu.IPNb=7 Mcu.IP7=USART6
Mcu.IPNb=8
Mcu.Name=STM32F405RGTx Mcu.Name=STM32F405RGTx
Mcu.Package=LQFP64 Mcu.Package=LQFP64
Mcu.Pin0=PH0-OSC_IN Mcu.Pin0=PH0-OSC_IN
Mcu.Pin1=PH1-OSC_OUT Mcu.Pin1=PH1-OSC_OUT
Mcu.Pin10=PA14 Mcu.Pin10=PA14
Mcu.Pin11=PB8 Mcu.Pin11=PC10
Mcu.Pin12=PB9 Mcu.Pin12=PC11
Mcu.Pin13=VP_SYS_VS_Systick Mcu.Pin13=PB8
Mcu.Pin14=VP_STMicroelectronics.X-CUBE-AI_VS_ArtificialOoIntelligenceJjXAaCUBEAaAI_10.0.0 Mcu.Pin14=PB9
Mcu.Pin15=VP_STMicroelectronics.X-CUBE-AI_VS_DeviceJjApplication_10.0.0 Mcu.Pin15=VP_SYS_VS_Systick
Mcu.Pin16=VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1 Mcu.Pin16=VP_STMicroelectronics.X-CUBE-AI_VS_ArtificialOoIntelligenceJjXAaCUBEAaAI_10.0.0
Mcu.Pin17=VP_STMicroelectronics.X-CUBE-AI_VS_DeviceJjApplication_10.0.0
Mcu.Pin18=VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1
Mcu.Pin2=PA2 Mcu.Pin2=PA2
Mcu.Pin3=PA3 Mcu.Pin3=PA3
Mcu.Pin4=PB0 Mcu.Pin4=PB0
@ -53,7 +67,7 @@ Mcu.Pin6=PB2
Mcu.Pin7=PC6 Mcu.Pin7=PC6
Mcu.Pin8=PC7 Mcu.Pin8=PC7
Mcu.Pin9=PA13 Mcu.Pin9=PA13
Mcu.PinsNb=17 Mcu.PinsNb=19
Mcu.ThirdParty0=RealThread.X-CUBE-RT-Thread_Nano.4.1.1 Mcu.ThirdParty0=RealThread.X-CUBE-RT-Thread_Nano.4.1.1
Mcu.ThirdParty1=STMicroelectronics.X-CUBE-AI.10.0.0 Mcu.ThirdParty1=STMicroelectronics.X-CUBE-AI.10.0.0
Mcu.ThirdPartyNb=2 Mcu.ThirdPartyNb=2
@ -63,6 +77,7 @@ MxCube.Version=6.14.1
MxDb.Version=DB.6.0.141 MxDb.Version=DB.6.0.141
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.CAN1_RX0_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true NVIC.CAN1_RX0_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true
NVIC.DMA1_Stream1_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DMA1_Stream5_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:true\:true NVIC.DMA1_Stream5_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.ForceEnableDMAVector=true NVIC.ForceEnableDMAVector=true
@ -77,6 +92,7 @@ NVIC.SavedSvcallIrqHandlerGenerated=true
NVIC.SavedSystickIrqHandlerGenerated=true NVIC.SavedSystickIrqHandlerGenerated=true
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:true\:false NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:true\:false
NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true
NVIC.USART3_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
PA13.Mode=Serial_Wire PA13.Mode=Serial_Wire
PA13.Signal=SYS_JTMS-SWDIO PA13.Signal=SYS_JTMS-SWDIO
@ -107,6 +123,12 @@ PB8.Signal=CAN1_RX
PB9.Locked=true PB9.Locked=true
PB9.Mode=CAN_Activate PB9.Mode=CAN_Activate
PB9.Signal=CAN1_TX PB9.Signal=CAN1_TX
PC10.Locked=true
PC10.Mode=Asynchronous
PC10.Signal=USART3_TX
PC11.Locked=true
PC11.Mode=Asynchronous
PC11.Signal=USART3_RX
PC6.Mode=Asynchronous PC6.Mode=Asynchronous
PC6.Signal=USART6_TX PC6.Signal=USART6_TX
PC7.Mode=Asynchronous PC7.Mode=Asynchronous
@ -147,7 +169,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath= ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART6_UART_Init-USART6-true-HAL-false,5-MX_USART2_UART_Init-USART2-false-HAL-true,6-MX_X_CUBE_AI_Init-STMicroelectronics.X-CUBE-AI.10.0.0-false-HAL-false,7-MX_X_CUBE_AI_Process-STMicroelectronics.X-CUBE-AI.10.0.0-false-HAL-false ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART6_UART_Init-USART6-true-HAL-false,5-MX_USART2_UART_Init-USART2-false-HAL-true,6-MX_CAN1_Init-CAN1-false-HAL-true,7-MX_USART3_UART_Init-USART3-false-HAL-true,8-MX_X_CUBE_AI_Init-STMicroelectronics.X-CUBE-AI.10.0.0-false-HAL-false,9-MX_X_CUBE_AI_Process-STMicroelectronics.X-CUBE-AI.10.0.0-false-HAL-false
RCC.48MHZClocksFreq_Value=84000000 RCC.48MHZClocksFreq_Value=84000000
RCC.AHBFreq_Value=168000000 RCC.AHBFreq_Value=168000000
RCC.APB1CLKDivider=RCC_HCLK_DIV4 RCC.APB1CLKDivider=RCC_HCLK_DIV4
@ -251,6 +273,8 @@ STMicroelectronics.X-CUBE-AI.10.0.0_SwParameter=ApplicationCcDeviceJjApplication
USART2.BaudRate=1000000 USART2.BaudRate=1000000
USART2.IPParameters=VirtualMode,BaudRate USART2.IPParameters=VirtualMode,BaudRate
USART2.VirtualMode=VM_ASYNC USART2.VirtualMode=VM_ASYNC
USART3.IPParameters=VirtualMode
USART3.VirtualMode=VM_ASYNC
USART6.IPParameters=VirtualMode USART6.IPParameters=VirtualMode
USART6.VirtualMode=VM_ASYNC USART6.VirtualMode=VM_ASYNC
VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1.Mode=RTOSJjRTAaThread VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1.Mode=RTOSJjRTAaThread

View File

@ -66,6 +66,7 @@
| 2025-05-27 | 串口部分处理增加完成,未验证 | | | 2025-05-27 | 串口部分处理增加完成,未验证 | |
| | CAN总线调试完成 可以通讯 完成线程 | | | | CAN总线调试完成 可以通讯 完成线程 | |
| 2025-06-03 | 完成算法计算腰部位置代码移植 | 后续还需要更改 | | 2025-06-03 | 完成算法计算腰部位置代码移植 | 后续还需要更改 |
| | 增加串口3作为输出 用于CAN替换 | |
--- ---