IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 【GD32F310开发板试用】GD32F310+10.525Ghz微波雷达模块--串口打印模块状态 -> 正文阅读

[嵌入式]【GD32F310开发板试用】GD32F310+10.525Ghz微波雷达模块--串口打印模块状态

简介

首先感谢极术社区和原厂提供的测评板,开发板板载一块GD32F310K8T6芯片,该芯片是ARM Cortes-M4的核心,片内内置64K的FLASH及8K的SRAM供开发者使用。所以在项目中,重点使用单片机对+10.525Ghz雷达模块进行测试,开发相应的测试程序。这对单片机的IO及ADC等外设性能和可靠性有较高的要求。本文从最基础的开始建立工程到配置工程再到USART外设的使用,采集引脚状态进行输出。时间赶所以后期会完成对IIC、SPI等外设的DEMO及功能测评。~~~~

开发环境&参考说明

Keil-MDK 5.30
Windows10
微信截图_20220417233917.png

Demo_Code
串口部分:
`

void my_uart_init(void)
{

//enable clock
rcu_periph_clock_enable(RCU_GPIOA);
rcu_periph_clock_enable(RCU_USART0);

//Tx=PA9 
gpio_mode_set(GPIOA,GPIO_MODE_AF,GPIO_PUPD_PULLUP,GPIO_PIN_9);
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);

//Rx=PA10
gpio_mode_set(GPIOA,GPIO_MODE_AF,GPIO_PUPD_PULLUP,GPIO_PIN_10);
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10);

nvic_irq_enable(USART0_IRQn,0,0);

gpio_af_set(GPIOA,GPIO_AF_1,GPIO_PIN_9|GPIO_PIN_10);

/*USART-Config*/
usart_deinit(USART0);
usart_baudrate_set(USART0,115200);
usart_word_length_set(USART0,USART_WL_8BIT);
usart_stop_bit_set(USART0,USART_STB_1BIT);
usart_parity_config(USART0,USART_PM_NONE);
usart_hardware_flow_rts_config(USART0,USART_RTS_DISABLE);
usart_hardware_flow_cts_config(USART0,USART_CTS_DISABLE);
usart_receive_config(USART0,USART_RECEIVE_ENABLE);
usart_transmit_config(USART0,USART_TRANSMIT_ENABLE);
usart_enable(USART0);
usart_interrupt_enable(USART0,USART_INT_RBNE);
usart_interrupt_enable(USART0, USART_INT_IDLE);         
}

void USART0_IRQHandler(void)
{

if(RESET!=usart_interrupt_flag_get(USART0,USART_INT_FLAG_RBNE))
{
   
    DATA=usart_data_receive(USART0);//rec data
  
            usart_data_transmit(USART0,DATA);
        
}else if(RESET!=usart_interrupt_flag_get(USART0,USART_INT_FLAG_IDLE))
{
    usart_interrupt_disable(USART0,USART_INT_IDLE);
}
}

/ retarget the C library printf function to the USART /
int fputc(int ch, FILE *f)
{

usart_data_transmit(USART0, (uint8_t) ch);
while(RESET == usart_flag_get(USART0, USART_FLAG_TBE));
return ch;
}

主函数部分:

void gd_led_config(void);
void gd_led_toggle(void);

/*!

\brief      main function
\param[in]  none
\param[out] none
\retval     none
*/
int main(void)
{

gd_led_config();
systick_config();
my_uart_init();
  my_radar_init();

while(1) {
    /* insert 500 ms delay */
    //delay_1ms(500);

    /* toggle the LED */
    //gd_led_toggle();

    /* insert 500 ms delay */
    //delay_1ms(500);
        if(AC_Signal_val>threshold_val+DC_Signal_val)
        {
            
            gpio_bit_set(GPIOA,GPIO_PIN_1);
            FAX_LOG("Warning!\n");
            delay_1ms(1000);
        }
        else
            gpio_bit_reset(GPIOA,GPIO_PIN_1);
        
        FAX_LOG("No One!\n");
        delay_1ms(1000);
}
}

/*!

\brief      configure led
\param[in]  none
\param[out] none
\retval     none
*/
void gd_led_config(void)
{

/* enable the led clock */
rcu_periph_clock_enable(RCU_GPIOA);

/* configure led GPIO port */
gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1);
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_1);

GPIO_BC(GPIOA) = GPIO_PIN_1;
}

/*!

\brief      toggle led
\param[in]  none
\param[out] none
\retval     none
*/
void gd_led_toggle(void)
{

GPIO_TG(GPIOA) = GPIO_PIN_1;
}

`
硬件连接&实现效果
将雷达模组和测评板,手拿着雷达模组不动,串口打印无触发状态,同时板载led处于关闭状态。
image.png

将雷达模组和测评板,手拿着雷达模组,另一只手挥动,串口打印警告状态表示有触发目标,同时板载led处于长亮状态。
触发.jpg

可以看到串口打印的数据如下:
串口输出.png

总结:
使用国产GD32F310配合微波雷达模块做一些简单应用,所提供的资料对开发者来说还是蛮友好的,也希望国产MCU更上一层楼。看到其他大佬使用的外设自己还没来的及搞,准备抓紧去尝试、去用、去学习咯!

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 12:53:52  更:2022-05-09 12:56:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:36:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码