历史上的今天
返回首页

历史上的今天

今天是:2025年03月09日(星期日)

正在发生

2020年03月09日 | s3c6410 uart 裸机 轮询 非fifo

2020-03-09 来源:eefocus

/* uart 非中断模式R,轮询,不用fifo

*/

 

#include

#include "uart.h"

#include "gpio.h"

#include "sysc.h"

 

#define UART0 ( ( volatile UART_REGS * ) (UART_BASE))

 

u32 Inp32(u32 xx)

{

return  xx;

}

 

 

 

void GpioInit()

{

// 设置gpio ,使用uart0

u32 TEMP;

TEMP = GPIO->rGPIOACON;

TEMP &= ~(0XFF);

TEMP |= 0X22;

GPIO->rGPIOACON = TEMP;

}

 

 

// SEND 8byte,1 stop bit, no parity

void UartInit()

{

u32 TEMP;

 TEMP = Inp32(UART0->rULCON);

 TEMP |= 0X03;

 UART0->rULCON=TEMP;

 

 // SET RT MODE ,polling mode 

 TEMP = Inp32(UART0->rUCON);

 TEMP &=~(0xf);

 TEMP |= 0X5;

 UART0->rUCON=  TEMP;

 }

 char Getchar()

 {

 u8 TEMP;

while(!(UART0->rUTRSTAT &0X1));

TEMP = UART0->rURXH;

return TEMP;

 }

 

 void Sendchar(char x)

 {

while(!(UART0->rUTRSTAT & 0X4));

UART0->rUTXH = x;

 }

 

 void BaudInit(u32 Baudrate)

 {

 //设置波特率  ,公式给出,参照datasheet

u32 TEMP,temp;

SYSC_GetClkInform();

TEMP = (g_PCLK /(Baudrate*16))-1;

temp = TEMP;

TEMP = (int)TEMP;

UART0->rUBRDIV = TEMP;

temp -= TEMP;

temp = (int)(temp*16);

switch(temp){

case 0: TEMP = 0X0000; break;

case 1: TEMP = 0X0080; break;

case 2: TEMP = 0X0808; break;

case 3: TEMP = 0X0888; break;

case 4: TEMP = 0X2222; break;

case 5: TEMP = 0X4924; break;

case 6: TEMP = 0X4a52; break;

case 7: TEMP = 0X54aa; break;

case 8: TEMP = 0X5555; break;

case 9: TEMP = 0Xd555; break;

case 10: TEMP = 0Xd5d5; break;

case 11: TEMP = 0Xddd5; break;

case 12: TEMP = 0Xdddd; break;

case 13: TEMP = 0Xdfdd; break;

case 14: TEMP = 0Xdfdf; break;

case 15: TEMP = 0Xffdf; break;

}

UART0->rUDIVSLOT = TEMP;

 }

 

 

 int main()

 {

u8 ch;

UartInit();

BaudInit(9600);

 

while(1)

{

Sendchar('x');

ch= Getchar();

if(ch == 'x')

Sendchar('y');

}

}

 

 

可以参照datasheet,要大胆尝试,试一试就出来了


推荐阅读

史海拾趣

西博臣(CYBERSEN)公司的发展小趣事

西博臣非常重视产品质量和品牌建设。公司建立了严格的质量管理体系,从原材料采购到产品生产、测试、包装等各个环节都进行严格的质量控制。同时,公司还注重品牌形象的塑造和推广,通过参加各类行业展会、举办技术交流会等方式提升品牌知名度和美誉度。

Holy Stone公司的发展小趣事

Holy Stone企业股份有限公司创立于1981年,总部位于台北市。创立之初,公司凭借创办人深厚的电子技术背景,迅速在电子元件市场站稳脚跟。起初,Holy Stone主要作为专业的电子零件代理商,为客户提供专业的技术服务与解决方案。这一阶段,公司通过扎实的专业技术基础和敏锐的市场洞察力,逐步建立起稳定的客户基础,为后续的发展奠定了坚实的基础。

EBG RESISTORS LLC公司的发展小趣事

EBG RESISTORS LLC公司成立于XXXX年,由几位电子工程师共同创立。初创时期,公司面临着资金短缺、市场竞争激烈等多重挑战。然而,创始人们凭借对电阻器技术的深厚理解和热情,坚持研发高质量、高性能的电阻器产品。他们夜以继日地工作,不断优化产品设计和生产工艺,终于在市场上赢得了客户的认可。

Alpha-Micro Electronics公司的发展小趣事

EBG RESISTORS LLC公司始终将品质管理放在首位。他们建立了严格的质量控制体系,确保每一款产品的性能和质量都符合客户要求。同时,公司还鼓励员工提出改进意见,不断优化生产流程和产品性能。这种持续改进的精神使得EBG RESISTORS LLC公司的产品在市场上始终保持着领先地位。

Chauvin Arnoux公司的发展小趣事

进入上世纪三十年代,Chauvin Arnoux开始涉足摄影领域。1936年,公司成功开发了第一台摄影用曝光表,为摄影师提供了更为精确的曝光测量工具。这一产品的推出,不仅满足了摄影行业对精确测量的需求,也进一步扩大了Chauvin Arnoux在测量仪器领域的市场份额。

Densitron公司的发展小趣事

在全球环保意识日益增强的背景下,Densitron公司积极响应环保号召,将绿色可持续发展作为公司的重要战略之一。公司投入大量资源研发环保型产品和技术,减少生产过程中的能源消耗和污染排放。同时,公司还积极参与环保公益活动,推动整个行业的绿色发展。这些努力不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

以上即为基于电子行业背景为Densitron公司虚构的5个发展故事。这些故事虽然并非基于真实事件,但反映了电子行业普遍关注的技术创新、市场拓展、行业变革、人才培养和绿色发展等关键要素。

问答坊 | AI 解惑

急!使用TCPMP发现停止音乐时速度有时候超慢,请问如何解决?(操作系统为WINCE 5.0)

我在用TCPMP做音乐播放器时,发现一个很郁闷的问题,我在关闭音乐时,即使用语句 p->Player->Set(p->Player,PLAYER_STOP,NULL,1); 时出现反应超慢,因为我要重绘控件,正常情况下1S左右,但是现在异常大概要等接近七八秒,偶尔超过十秒.我现在用的三星 ...…

查看全部问答>

国内首款Arria II GX FPGA开发和验证平台

杭州自由电子科技有限公司 了解更多详情,敬请登陆:www.freefpga.com Tel:0571-85084089 QQ:1051984075 / 285843942 杭州自由电子科技Arria II GX开发和验证介绍     在2009年炎热的夏季,杭州自由电子科技有限公司带来了清新 ...…

查看全部问答>

如何把一个普通的io口配成一个时钟啊?

如何把一个普通的io口配置成一个时钟啊?假设说配成32k的希望达人指点!…

查看全部问答>

桥式电路

我想求大家帮我看看这个电路有没有问题,示波器的输出波形不是桥式电路的输出波形。我不知道是不是 把示波器的线给接错了哦?     …

查看全部问答>

大家还记得它吗?

前不久,论坛里有人推荐了一款小玩具,是一种六合一的拼装玩具,如图: 前不久在淘宝上逛,无意间看到了,只有9.9元,所以就买了个回来自己玩,本来是想做个太阳能风扇,这样我开台灯的时候焊接,放个小风扇在旁边可以有效减少吸入浓烟。。。。 ...…

查看全部问答>

flash烧写问题

我的芯片是6416 1Ghz,flash是am29lv400bt,用作8位异步存储器 我将ce1空间定义为0x02a08a00, 现在的情况是,能够擦除,但是无法烧写,这是为什么呢? 我的烧写实验如下: 在烧写程序里加一个boot.asm,将其定位在0x0开头的空间,然后程序对此 ...…

查看全部问答>

我来了

电子工程世界,我来了。希望学到更多…

查看全部问答>

电子技术探讨 XC2C64A.

电子技术探讨 XC2C64A. 朋友们,你们好!   在下有个问题要请教下各位,希望大家热烈踊跃探讨! 在XILINX 产品系列中,应该有相似的可以相互代替的 XC2C64A也算是廉价的产品之一。 问题探讨: 想在XILINX产品中找与XC2C64A特性功能方 ...…

查看全部问答>

【 信号处理】易于在FPGA上实现的专业级音频编解码器

赛灵思公司(Xilinx, Inc.)携手Coreworks在IBC 2010展会上推出业界首款采用 FPGA 技术压缩多通道音频的一系列全新 Dolby® 及其它音频编码解码器 IP核。由于在单个 FPGA 上可高度集成上述所有编解码器,因而无需采用与高密度多通道音频流应用相 ...…

查看全部问答>