OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【GD32VF103开发进程帖】第一篇-串口加点灯

共4条 1/1 1 跳转至

【GD32VF103开发进程帖】第一篇-串口加点灯

工程师
2020-05-15 00:28:48    评分
来咯来喽,二合一来咯,跟着教程一起来哦,结合教程12,看完做一个简单的串口开关灯,算是简单综合一下吧话不多说直接贴程序吧
int main(void)
{
    gd_eval_led_init(LED1);

    eclic_global_interrupt_enable();

	eclic_priority_group_set(ECLIC_PRIGROUP_LEVEL3_PRIO1);

	eclic_irq_enable(USART0_IRQn, 1, 0);

    gd_eval_com_init(EVAL_COM0);

    usart_interrupt_enable(USART0, USART_INT_RBNE);

    printf("\r\n 串口测试程序-发送0开灯-发送1关灯 \r\n");

    while(RESET == usart_flag_get(EVAL_COM0, USART_FLAG_TC)){
        }
    while(1){

    	if(rx_buffer=='0'){
    		gd_eval_led_on(LED1);
    		printf("\r\n 已开灯 \r\n");

			while(RESET == usart_flag_get(EVAL_COM0, USART_FLAG_TC)){
				}
    		rx_buffer=0;
    	}
    	if(rx_buffer=='1'){
    		gd_eval_led_off(LED1);
    		rx_buffer=0;
    		printf("\r\n 已关灯 \r\n");

			while(RESET == usart_flag_get(EVAL_COM0, USART_FLAG_TC)){
				}
    	}
    }
}



int _put_char(int ch)
{
    usart_data_transmit(EVAL_COM0, (uint8_t) ch );
    while ( usart_flag_get(EVAL_COM0, USART_FLAG_TBE)== RESET){
    }

    return ch;
}
void USART0_IRQHandler(void)
{
    if(RESET != usart_interrupt_flag_get(USART0, USART_INT_FLAG_RBNE)){
        /* read one byte from the receive data register */
        rx_buffer = (int)usart_data_receive(USART0);
    }
}

image.png


总体来说开发方式都大差不差,就是这个eclipsec环境有点摸不懂,请教一下debug里哪能看寄存器数据?



高工
2020-05-16 22:37:02    评分
2楼

2.png

来,图来了


专家
2020-05-16 23:18:09    评分
3楼

这样既可image.png


高工
2020-05-17 00:40:06    评分
4楼

7.png

来个VScode+Platform的


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]