娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

1.S3C2440串口概述

串口通訊一般要增加電平轉換電路,原因是TTL/CMOS電平與RS232電平不一致:

TTL/CMOS電平:

CMOS電平:

常用的電平轉換芯片是MAX3232。

S3C2440有3個獨立的異步串口,可以選擇工作在中斷或DMA方式下。每個UART包括一個波特率發生器、發送器、接收器和一個控制單元。

UART有FIFO模式和非FIFO模式。FIFO模式下可以利用64字節的發送/接收緩沖寄存器,非FIFO模式下只使用了發送/接收緩沖寄存器中的1個字節。本篇入門級以非FIFO為例。

 

2.串口設置及相關寄存器

串口引腳是GPIO復用的。本篇UART只用3根引腳:TXD、RXD、GND。

   

TXD0 – GPH2 , RXD0 – GPH3

 需要初始化以下6個寄存器:

ULCONn (UART LINE CONTROLREGISTER) – 設置數據位信息

UCONn(UART CONTROL REGISTER) – 設置發送和接收模式,及時鐘源。

UBRDIVn– 設置UART波特率

波特率計算公式:

例子:

UTRSTATn(UARTTX/RX REGISTER) – 狀態位

使用while(!UTRSTAT0&(1<<2)); 等待發送完成(while(!UTRSTAT0&(1<<1)); 也可以)

使用while(!UTRSTAT0&(1<<0)); 等待接收數據。

UTXHn(HOLDINGREGISTER) – 發送緩沖寄存器(Transmit)

URXHn(HOLDINGREGISTER) – 接收緩沖寄存器(Receive)


3.串口UART0應用

串口UART0接收到數據后再將其發出去。波特率為115200。

uart.h

#ifndef __UART_H__
#define __UART_H__
 
extern void Uart0_Init(unsigned int baudrate);
extern void putc(unsigned char c);
extern unsigned char getc(void);
 
#endif
uart.c 

#include "2440addr.h"
 
#define PCLK 50000000
void Uart0_Init(unsigned int baudrate)
{
    rGPHCON &= ~((3<<4)|(3<<6));
    rGPHCON |= (2<<4)|(2<<6);        //GPH2-TXD, GPH3-RXD
    rGPHUP &= ~((1<<2)|(1<<3));        //GPH2,GPH3 enable pull-up
    
    rULCON0 = 0x03;                    //8-bits 1-stop bit
    rUCON0 = 0x05;
    rUBRDIV0 = (int)(PCLK/baudrate/16)-1;
    rURXH0 = 0;
}
 
void putc(unsigned char c)
{
    rUTXH0 = c;
//    while(!(rUTRSTAT0 & (1<<2)));
    while(!(rUTRSTAT0 & (1<<1)));    //ok
}
 
unsigned char getc(void)
{
    while(!(rUTRSTAT0 & (1<<0)));
    return rURXH0;
}
Main.c

#include "common.h"
#include "uart.h"
 
int Main()
{
    unsigned char a;
    Uart0_Init(115200);
    while(1)
    {
        a=getc();
        putc(a);
    }
    return 0;
}
 

關鍵字:S3C2440  串口  電平轉換 引用地址:S3C2440串口(1)

上一篇:S3C2440芯片時鐘(2)
下一篇:s3c2440A開發板UART總結以及UART代碼詳解

推薦閱讀

? ? 索尼的PlayStation Plus月費會員好處多多,除了讓玩家可以享受網上對戰之外,同時也為會員每月都提供多款免費的游戲,只要你不關掉會員這些游戲就會一直存在。目前PS3、PS4和PS Vita的玩家可以加入該計劃,不過索尼表示未來將停止向PS3和PS Vita會員玩家提供免費游戲?! ∷髂岜硎?019年3月8日起,PS Plus月費計劃只會提供PS4免費游戲,PS3和...
近年來,在自動化需求的強勁帶動下,全球掀起了一股機器人發展的熱潮,形形色色、各具功能的機器人產品,開始頻繁出現在我們的視野之中。但不管是工業級的搬運、分揀、切割等機器人,還是消費級的掃地、醫療、教育等機器人,它們普遍透露出冰冷和僵硬的感覺,“鋼鐵戰士”的形象不僅拉遠了與人的距離,還在一定程度上限制了自身的應用。 在這樣的背景下...
簡介:在進行51或AVR單片機程序開發時如果需要定義較大的數組或字符串時,一般定義將會把這些占用內存較大的變量放置到RAM中,因此RAM吃緊,嚴重的話將導致程序崩潰,面對這種情況我們可以將這些占用內存較大的變量定義到Flash中以釋放一定的RAM空間,保障程序的流暢運行。在進行51或AVR單片機程序開發時如果需要定義較大的數組或字符串時,一般定義將會把...
電子元器件分銷專家TTI,Inc. 宣布TTI創始人兼首席執行官保羅·安德魯斯(Paul Andrews)去世。50年來,安德魯斯帶領TTI取得非凡成就,成為業內卓越的分銷商之一。 1971年,安德魯斯將他的夢想變成現實。從家鄉得克薩斯州沃思堡家中一個不起眼的小廚房開始,安德魯斯創立了公司并將其全球業績發展壯大至數十億美元級別。今天,TTI在全球擁有7,000多名員工...

史海拾趣

問答坊 | AI 解惑

正弦脈寬調制(SPWM)波的基本要素

               項目簡介 江蘇省常熟市    吳棟梁 個人原創的《超音頻寬頻帶功率正弦波逆變電源》系電力電子變流技術(SPWM)類的電源引擎, 資質情況為國內領先水平,持 ...…

查看全部問答∨

智能儀器(單片機應用系統設計).

智能儀器(單片機應用系統設計).…

查看全部問答∨

大俠快來救命阿,關于AM29LV320D的軟件方法去除寫保護問題??

我試了很多AM29LV320D的flash,bottom boot的,都是前四個扇區寫保護了?這是什么原因?手冊中沒有找到軟件方法去除寫保護的命令,那這些扇區怎么寫保護的,怎么去除呢?,F在其他扇區都可以正常讀寫…

查看全部問答∨

F2812 的IFR究竟是寫0清除狀態位還是寫1清除

F2812 的IFR究竟是寫0清除狀態位還是寫1清除? F2812的資料介紹中 Note部分:To clear an IFR bit, you must write a one to it, not a zero. 在寄存器各位Description中:Write a 0 to this bit to clear it to 0 and clear the interrupt reques ...…

查看全部問答∨

"0123456789abcdef"[i]

看到一種比較特殊的寫法, "0123456789abcdef" [ i ],看起來挺神奇的,暫時理解成匿名的全局字符串變量指針吧,期待有一天能用上吧。 補充一下,還有這樣寫的: 5["hello world!"] [ 本帖最后由 medky 于 2011-5-14 19:28 編輯 ]…

查看全部問答∨

LM3S 比較器詳解

申請團購LM3S開發板,找了個比較器資料…

查看全部問答∨

我想要分享這個啊,了解下啊

有高手能解說下么,在下只想學習啊…

查看全部問答∨

最近調試AM3359的幾點總結

最近調試AM3359的幾點總結,使用的是beaglebone black,供大家參考: 1、電容屏不需要校準哦,一校準就亂套了,用的是FT5216,折騰了我好幾天呢,NND 當然還是需要寫個配置文件的,要不然每次開機都要讓你校準,我用的debian系統 2、注意使用gpio ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 石台县| 吉林市| 筠连县| 平武县| 运城市| 桃江县| 穆棱市| 西和县| 广宁县| 保山市| 遂川县| 华亭县| 永清县| 五华县| 龙游县| 湖州市| 富宁县| 武穴市| 广灵县| 修武县| 周宁县| 封开县| 会泽县| 聊城市| 定西市| 天祝| 格尔木市| 大姚县| 安徽省| 紫阳县| 贵德县| 长泰县| 曲周县| 盐亭县| 特克斯县| 临夏县| 临安市| 漾濞| 政和县| 乐清市| 卢氏县|