zoukankan      html  css  js  c++  java
  • ARM实验3 ——串口实验

    uart串口实验

    实验内容:

    编写UART模块程序,通过串口将信息打印到终端。

    实验目的:

    熟悉开发环境的使用。

    掌握exynos4412处理器的UART功能。

    实验平台:

    FS4412开发板,eclipse,secureCRT.

    实验步骤:

     1.查看con7串口在开发板的位置;

    2.查看BUF_XuTXD2在核心板的位置:

    3.查看GPA1_0和GPA1_1在芯片手册中的说明:

    4.查看UART_2在芯片手册的说明:

     1 #include "exynos_4412.h"
     2 
     3 //#define    GPA1CON    __REG(0X11400020)
     4 
     5 // 延时函数
     6 void mydelay_ms(int ms)
     7 {
     8     int i, j;
     9     while(ms--)
    10     {
    11         for (i = 0; i < 5; i++)
    12             for (j = 0; j < 514; j++);
    13     }
    14 }
    15 
    16 void putc(const char data)
    17 {
    18     while(!(UART2.UTRSTAT2 & 0x2));    //shifter--若为空不能继续
    19     UART2.UTXH2 = data;
    20     if(data == '
    ')    // 检测数据发送是否结束
    21         putc('
    ');
    22 }
    23 
    24 void puts(const char *pstr)
    25 {
    26     while(*pstr != '')
    27         putc(*pstr++);
    28 }
    29 
    30 void uart_init()
    31 {
    32     // 配置串口UART2的GPIO
    33     GPA1.CON = 0x22;
    34     UART2.ULCON2 = 0x3;        // 8n1
    35     UART2.UCON2 = 0x5;        // 选择传输模式为轮询模式
    36     UART2.UBRDIV2 = 0x35;    // DIV_VAL的整数部分
    37     UART2.UFRACVAL2 = 0x5;    // DIV_VAL的小数部分*16
    38 
    39 
    40 }
    41 unsigned char getchar(){
    42     unsigned char c;
    43     while(!(UART2.UTRSTAT2 & 0x1))
    44         ;
    45     c=UART2.URXH2;
    46     return c;
    47 }
    48 
    49 int main()
    50 {
    51     //char str[] = "hello uart!
    ";
    52 
    53     uart_init();
    54     mydelay_ms(8000);
    55     puts("please input one strings
    ");
    56 
    57     while(1)
    58     {
    59         putc(getchar());
    60         //mydelay_ms(800);
    61     }
    62 
    63     return 0;
    64 }

    实验结果:

  • 相关阅读:
    C#驱动mysql明明数值不为空却一直说DBNull.Value的诡异情况
    WinForm解决UI假死
    js实现的简单遮罩层
    mongodb C#连接报错 Invalid credentials for database 'admin'
    c#记录代码运行的耗时。
    C# LINQ
    timeScale减速对动画影响的处理方法(转)
    委托
    Unity3D单例类模板类
    Unity协程(Coroutine)管理类——TaskManager工具分享(转)
  • 原文地址:https://www.cnblogs.com/lanbofei/p/9663059.html
Copyright © 2011-2022 走看看