ARM裸機 FS2410串列埠通訊(UART)

2021-06-05 10:05:17 字數 1839 閱讀 6446

一、開發環境

(1)硬體平台:fs2410

(2)主機:ubuntu 10.10

二、fs2410串列埠的原理圖

三、串列埠uart暫存器配置

(1)配置txd0與rxd0(gph2、gph3)

(2)設定波特率(ubrdivn)

(3)設定傳輸格式(ulconn)

(4)選擇時鐘源與中斷方式(uconn)

(5)設定fifo和流控(ufconn 、umconn)

(6)接收字元和傳送字元(utrstatn)

四、詳細設計

uart.c:

#include "s3c2410.h"

void putc(char ch) //傳送字元

char getc(void) //接收字元

void putstr(char *str) //傳送字串

else

putc(*str);

str++; }}

int main(void)

} return 0;

}

start.s:

.text

.global _start

_start:

#define watchdog 0x53000000

ldr r0, =watchdog

mov r1, #0

str r1, [r0]

ldr sp, =1024*4

bl main

loop:

b loop

makefile:

uart.bin: start.s uart.c

arm-none-linux-gnueabi-gcc -c start.s -o start.o

arm-none-linux-gnueabi-gcc -c uart.c -o uart.o

arm-none-linux-gnueabi-ld -ttext 0x30008000 start.o uart.o -o uart

arm-none-linux-gnueabi-objcopy -o binary -s uart uart.bin

clean:

rm -f *.o uart.bin

在開發板的uboot上輸入以下命令:

tftp 30008000 uart.bin

go 30008000

ARM裸機 FS2410定時器操作蜂鳴器

一 開發環境 硬體平台 fs2410 主機 ubuntu 10.10 二 關於定時器的原理圖 三 pwm定時器暫存器的配置 1 定時器的輸入頻率的設定 2 設定定時器啟動燈 3 設定定時器初值 四 詳細 timer.c include s3c2410.h void delay long long m...

ARM裸機學習筆記(六)串列埠通訊

同步通訊 收發雙方按照同一時鐘節拍工作,一般需要傳送方給接收方傳送資訊同時傳送時鐘訊號 非同步通訊 傳送方和接收方沒有統一的時鐘節拍 而各自按照自己的節拍工作就叫非同步 電平訊號 電平訊號的傳輸線中有乙個參考電平線 一般是gnd 然後訊號線上的訊號值是由訊號線電平和參考電平線的電壓差決定。差分訊號 ...

ARM裸機開發(四)串列埠程式設計

以下裸機程式基於gt2440,編譯器為arm linux gcc 4.4.3。程式結構 程式只有乙個uart.s檔案。程式流程 首先上電復位,進入復位異常處理,關閉看門狗,初始化系統時鐘 fclk 400mhz,hclk 100mhz,pclk 50mhz 初始化串列埠 無檢驗位,1位停止位,8位資...