generated from hulk/gd32f4xx_template_cmake_vscode
FilmForge: RS485 data link (USART0+DE PA8) and NTC temp (PC5 ADC0)
This commit is contained in:
+25
-44
@@ -1,51 +1,21 @@
|
||||
/*!
|
||||
\file main.c
|
||||
\brief GD32F4xx 工程模板入口(LED 心跳 + 串口收发框架)
|
||||
\brief FilmForge 热压模具温控固件入口
|
||||
|
||||
基于 GD32E23x 工程模板移植,目标芯片 GD32F405RET6(Cortex-M4 @168MHz,512KB Flash)。
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright (c) 2025, GigaDevice Semiconductor Inc.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
3. Neither the name of the copyright holder nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||
OF SUCH DAMAGE.
|
||||
自制热压模具(塑型 PC 膜):加热驱动 + 测温(NTC)+ RS485 数据口。
|
||||
基于 GD32F4xx 工程模板,目标芯片 GD32F405RET6(Cortex-M4 @168MHz)。
|
||||
*/
|
||||
|
||||
#include "gd32f4xx.h"
|
||||
#include "systick.h"
|
||||
#include "uart.h"
|
||||
#include "uart_ring_buffer.h"
|
||||
#include "rs485.h"
|
||||
#include "ntc.h"
|
||||
#include "led.h"
|
||||
#include <stdio.h>
|
||||
#include "board_config.h"
|
||||
|
||||
/* TODO: 以下模块尚未从 GD32E23x 工程移植,编译验证通过后逐步补充:
|
||||
* - i2c.c/i2c.h I2C 主机读写驱动(硬件 I2C0 + 总线恢复)
|
||||
* - command.c/h 串口命令协议解析(D5 帧格式)
|
||||
* 移植时将对应文件加入 CMakeLists.txt 的 TARGET_SRC 即可。
|
||||
*/
|
||||
|
||||
/*!
|
||||
\brief main function
|
||||
\param[in] none
|
||||
@@ -61,22 +31,33 @@ int main(void)
|
||||
uart_ring_buffer_init();
|
||||
uart_init();
|
||||
|
||||
rs485_init();
|
||||
ntc_init();
|
||||
|
||||
#if DEBUG_MODE == CFG_ENABLE
|
||||
printf("Hello World!\r\n");
|
||||
printf("GD32F405 template, flash size: %u KB\r\n", GD32_FLASH_SIZE_KB);
|
||||
printf("FilmForge FW %s, built %s\r\n", PROJECT_VERSION, BUILD_DATE);
|
||||
printf("RS485 data link ready, NTC ready\r\n");
|
||||
#endif
|
||||
|
||||
#if SEGGER_RTT_DETECTION == CFG_ENABLE
|
||||
RTT_printf(0, "Hello World!\r\n");
|
||||
RTT_printf(0, "FilmForge FW\r\n");
|
||||
#endif
|
||||
printf("Hello World!\r\n");
|
||||
|
||||
/* ========== Command Testing ========== */
|
||||
|
||||
/* ========== */
|
||||
|
||||
while(1){
|
||||
/* TODO: command_process(); 命令模块移植后启用 */
|
||||
/* RS485 数据口处理(拉通阶段:回显) */
|
||||
rs485_process();
|
||||
|
||||
/* debug 串口周期打印 NTC 温度(约 1s 一次) */
|
||||
#if DEBUG_MODE == CFG_ENABLE
|
||||
{
|
||||
static uint16_t temp_report_counter = 0;
|
||||
if (++temp_report_counter >= 100U) { /* 主循环 10ms 一圈 → 1s */
|
||||
temp_report_counter = 0;
|
||||
printf("NTC temp: %.1f C\r\n", ntc_read_temperature());
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
delay_ms(10);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user