您的位置:首页 > 其它

Cortex A8,PWM裸机程序

2014-03-31 19:54 267 查看
#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;

GPD.GPDCON = (0x2 << 4);//使能为pwm输出
TIMER.TCFG0 = 0xFF;//256分频
TIMER.TCFG1 = 0x4 << 4;//16分频
TIMER.TCNTB1 = 31;//计数周期
TIMER.TCMPB1 = 15;//脉冲宽度

TIMER.TCON = 0xE << 8;//装载初值
TIMER.TCON = 0xD << 8;//开始计数

while (1) {
puts("MYTTY: ");
while (1) {
c = getc();
putc(c);
if (c == '\r')
break;
}
}
}
工程源码:     http://download.csdn.net/detail/a987860319/7126497
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: