zoukankan      html  css  js  c++  java
  • Mini2440串口通信

    一、串口编写总框图

    Mini2440串口通信(UART0)

    二、分步介绍

    #define GPHCON     (*(volatile unsigned long *)0x56000070)
    #define ULCON0     (*(volatile unsigned long *)0x50000000)
    #define UCON0       (*(volatile unsigned long *)0x50000004)
    #define UBRDIV0    (*(volatile unsigned long *)0x50000028)
    #define UTRSTAT0  (*(volatile unsigned long *)0x50000010)
    #define UTXH0       (*(volatile unsigned long *)0x50000020)
    #define URXH0       (*(volatile unsigned long *)0x50000024)

    #define PCLK             50000000
    #define BAUDRATE    115200

    1、初始化

    ①、配置引脚功能

    GPHCON &= (~(0b11<<4))|(~(0b11<<6));//端口清零
    GPHCON |= (0b10<<4)|(0b10<<6);//设置功能

    image

    ②、设置数据格式

    ULCON0 = (0b11<<0) | (0b0<<2) | (0b000<<3);

    设置为 No parity;One stop bit per frame;8-bits

    image

    ③、设置工作模式

    UCON0 = (0b01<<0) | (0b01<<2);

    发送和接受都设置为Interrupt request or polling mode

     image

    ④、设置波特率

    UBRDIV0 = (int)(PCLK/(BAUDRATE*16)) - 1;

    本实验中UART0使用的是PCLK

    image

    image

    2、发送数据

    void putc(unsigned char ch)
    {
        while( !(UTRSTAT0 & (1<<2)));
        UTXH0 = ch;
    }

    只使用低八位

    image

    3、接收数据

    unsigned char getc()
    {
        while( !(UTRSTAT0 & (1<<0)));
        return URXH0;
    }

    只使用低八位

    image

  • 相关阅读:
    Xtreme9.0
    Xtreme8.0
    Xtreme8.0
    Xtreme8.0
    Xtreme9.0
    Xtreme8.0
    IEEEXtreme Practice Community Xtreme9.0
    MySQL添加用户、删除用户与授权
    程序员进阶之路—如何独当一面
    PowerDesigner版本控制器设置权限
  • 原文地址:https://www.cnblogs.com/TB-Go123/p/5266270.html
Copyright © 2011-2022 走看看