• 串口程序的理解


    。。。学串口没想到要了解这么多

    了解复用的概念与使用:https://www.cnblogs.com/action0/p/12740232.html

    了解中断NVIC的概念与使用:https://www.cnblogs.com/action0/p/12740610.html

    了解串口的使用:https://www.cnblogs.com/action0/p/12740916.html

    对于串口接收数据的主程序的理解

    #include "sys.h"
    #include "usart.h"
    #include "delay.h"
    #include "led.h"
    int main(void)
    {
        u8 t;
        u8 len; 
        u16 times=0;
        delay_init();  //延时函数初始化 
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置中断分组
        uart_init(9600);  //串口初始化为 9600
        LED_Init();  //初始化与 LED 连接的硬件接口
        while(1)
        {
        if(USART_RX_STA&0x8000)
      { 
        len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
        printf("
     您发送的消息为:
    ");
        for(t=0;t<len;t++)//发送数组内的存储数据
        {
          USART1->DR=USART_RX_BUF[t];
          while((USART1->SR&0X40)==0);//等待发送结束
        }
        printf("
    
    ");//插入换行
        USART_RX_STA=0;
        }else
        {
          times++;
          if(times%5000==0)
          {
            printf("
    ALIENTEK MiniSTM32 开发板 串口实验
    ");
            printf("正点原子@ALIENTEK
    
    
    ");
          }
          if(times%200==0)printf("请输入数据,以回车键结束
    ");
          if(times%30==0)LED0=!LED0;//闪烁 LED,提示系统正在运行.
          delay_ms(10);
        }
      } 
    }            

    USART_SendData(USART1, USART_RX_BUF[t]); //向串口 1 发送数据

    while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);

    stm32f10x_usart.c包含了这两句USART_SendData()、USART_GetFlagStatus()

    第一句,发送字节到串口

    第二句,检测这个数据是否已经发送完成了。USART_FLAG_TC是数据发送完成的标识符

  • 相关阅读:
    递归神经网络 RNN 原理(上)
    递归神经网络
    队列-Python 实现
    Tableau 我常用函数整理
    代码重构(OOP)-小栗子(PyQt5)
    Python基础
    Excel 数据显示到网页
    采坑
    Python基础
    JavaScript一些对象。
  • 原文地址:https://www.cnblogs.com/action0/p/12741479.html
Copyright © 2020-2023  润新知