首页 > 其他 > 详细

Cortex A-8裸机串口通信程序

时间:2014-03-29 04:55:00      阅读:303      评论:0      收藏:0      [点我收藏+]

main.c:实现串口简单的发送的功能

#include "s5pc100.h"

int main()
{
	UART0.ULCON0 = 0x03;
	UART0.UCON0 = 0x05;
	UART0.UFCON0 = 0;
	UART0.UMCON0 = 0;
	UART0.UBRDIV0 = 35;
	UART0.UDIVSLOT0 = 0x888;
	UART0.UINTM0 = 0xF;

	while (1) {
		while (!(UART0.UTRSTAT0 & 0x2));
		UART0.UTXH0 = ‘C‘;
	}
}
该程序重复的向串口发送字符C
main.c
#include "s5pc100.h"

void putc(char c)
{
	while (!(UART0.UTRSTAT0 & 0x2));
	UART0.UTXH0 = c;

	if (c == ‘\n‘) {//换行
		while (!(UART0.UTRSTAT0 & 0x2));
		UART0.UTXH0 = ‘\r‘;
	}

	if (c == ‘\r‘) {//回车
		while (!(UART0.UTRSTAT0 & 0x2));
		UART0.UTXH0 = ‘\n‘;
	}
}

char getc(void)
{
	while (!(UART0.UTRSTAT0 & 0x1));
	return UART0.URXH0;
}

void puts(char *s)
{
	while (*s != ‘\0‘)
		putc(*s++);
}


int main()
{
	char c;

	GPA0.GPA0CON = 0x22;

	UART0.ULCON0 = 0x03;
	UART0.UCON0 = 0x05;
	UART0.UFCON0 = 0;
	UART0.UMCON0 = 0;
	UART0.UBRDIV0 = 35;
	UART0.UDIVSLOT0 = 0x888;
	UART0.UINTM0 = 0xF;

	while (1) {
		puts("MYTTY: ");
		while (1) {
			c = getc();
			putc(c);
			if (c == ‘\r‘)
				break;
		}
	}
}
该程序实现的功能是将串口收到的东西又通过串口发送回去,当从终端输入回车的时候,实现回车换行的功能,相当于一个简单的tty。

说明:上面两个各程序编译所依赖的start.s,map.lds,s5p100.h文件在我的上一篇博客中可以找到,可以拿过来直接使用。

Cortex A-8裸机串口通信程序,布布扣,bubuko.com

Cortex A-8裸机串口通信程序

原文:http://blog.csdn.net/it_liuwei/article/details/22425093

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!