• Uart串口



    title: Uart串口
    tags: ARM
    date: 2018-10-20 16:38:28

    Uart串口

    和单片机的应用没什么区别,首先设置IO复用,设置波特率和数据位,以及中断相关的,简单的应用测试可以先关掉中断.从下图看到,usb转串口连接到COM1COM1是内部的Uart0

    mark

    mark

    程序初始化

    UART0
    RX0 GPH3
    TX0 GPH2
    //init uart
    void Uart0_init()
    {
    	//配置GPIO 复用为uart
    	//配置相应的 GPHCON 为10 串口
    	// 也就是 _BIT5,BIT7 置1  BIT4,BIT6清零
    	GPHCON &=~(_BIT4|_BIT5|_BIT6|_BIT7);
    	GPHCON |=(_BIT5|_BIT7);
    
    	//设置上拉
    	GPHUP &=~(_BIT2|_BIT3);
    
    	//禁止红外,8N1
    	ULCON0=(_BIT0|_BIT1);
    
    	// PCLK(50M),中断/查询模式打开
    	// FCLK : HCLK : PCLK = 400m : 100m : 50m
    	UCON0 = (0x01)|(0x01<<2); 
    	UBRDIV0=26;//CLK/(baund*16)-1
    
    
    	//UFCON0 FIFO 不使用
    	//UMCON0 不使用流控
    	//UTRSTAT0 中断标志位
    	//UERSTAT0 错误标志
    	//UFSTAT0  FIFO标志
    	//UMSTAT0  模式配置,CTS
    	//UTXH0、URXH0    BUF
    
    	//这里要清除标志位,不然好像有点问题
    	UTRSTAT0=0x06;
    }
    
    int putchar(int c)
    {
    	while(!(UTRSTAT0&_BIT2));
    	// UTXH0 被定义为uint,这里应该是char类型的地址0x50000023(B) 
    	UTXH0 = (unsigned char )c;
    }
    int getchar(void)
    {
    	while(!(UTRSTAT0&_BIT0));
    	return URXH0;
    }
    
    int puts(const char *s)
    {
    	while(*s)
    	{
    		putchar(*s);
    		s++;
    	}
    }
    
  • 相关阅读:
    php文件下载原理
    spring源码@configuration&@bean
    解决java在idea运行正常,但是打成jar包后中文乱码问题
    IntelliJ IDEA查看堆内存和类继承关系
    jenkins无法展示报告
    解决windows(slave)导致linux(master)输出乱码
    UIRECODER安装记录
    vue项目前后端部署
    django orm
    django笔记
  • 原文地址:https://www.cnblogs.com/zongzi10010/p/10023572.html
Copyright © 2020-2023  润新知