导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→菜鸟求助,一小段串口程序。[cheungssan]

 *第19338篇: 菜鸟求助,一小段串口程序。

  
楼 主:cheungssan 2009年1月6日11:50
 菜鸟求助,一小段串口程序。
我用的芯片是at91sam7x256,写了一段串口往上位机发送的小程序,但怎么调也是不通,初步估计是在初始化的时候没弄好,但是找不出问题在哪?


#include "/include/at91sam7S64/at91sam7s64.h"
#include "/include/at91sam7s64/lib_at91sam7s64.h"


void AT91F_LowLevelInit(void);
void usart0_init(void);
void usart0_write(char * tx_buffer, unsigned int tx_counter);

#define MCLK 48000000
#define BAUD 19200

int CMain(void)
{
int index = 500000;
AT91F_LowLevelInit();

usart0_init();
while(1)
{
usart0_write("Hello, World!\n", 14);
while(index--);
index = 500000;
}

return 0;
}

void AT91F_LowLevelInit(void)
{
//Disables the Watchdog Timer
AT91C_BASE_WDTC->  WDTC_WDMR = AT91C_WDTC_WDDIS;

//Enabling the Main Oscillator
AT91C_BASE_PMC->  PMC_MOR = 0x01 | 0x07   <   < 8;
while (!(AT91C_BASE_PMC->  PMC_SR & AT91C_PMC_MOSCS))

//Setting PLL and divider
AT91C_BASE_PMC->  PMC_PLLR = 24 | (0x28   <   < 8) | (124   <   < 16) | AT91C_CKGR_USBDIV_1;
while (!(AT91C_BASE_PMC->  PMC_SR & AT91C_PMC_LOCK));
while (!(AT91C_BASE_PMC->  PMC_SR & AT91C_PMC_MCKRDY));

//Selection of Processor Clock
AT91C_BASE_PMC->  PMC_MCKR = AT91C_PMC_PRES_CLK_2;
while (!(AT91C_BASE_PMC->  PMC_SR & AT91C_PMC_MCKRDY));

//Selection of Master Clock
AT91C_BASE_PMC->  PMC_MCKR |= AT91C_PMC_CSS_PLL_CLK;
while (!(AT91C_BASE_PMC->  PMC_SR & AT91C_PMC_MCKRDY));

}

void usart0_init(void)
{
//AT91C_BASE_PMC->  PMC_PCER=1   <   <AT91C_ID_PIOA|1   <   <AT91C_ID_US0;

AT91F_US0_CfgPMC();
AT91F_US0_CfgPIO();

AT91F_US_Configure(
AT91C_BASE_US0,
MCLK,
AT91C_US_ASYNC_MODE,
BAUD,
0);
AT91C_BASE_US0->  US_CR = AT91C_US_RXEN | AT91C_US_TXEN | AT91C_US_STTTO;

}


void usart0_write(char * tx_buffer, unsigned int tx_counter)
{
//while( (AT91C_BASE_US0->  US_CSR & AT91C_US_TXRDY) == false );
AT91C_BASE_PDC_US0->  PDC_TPR = (unsigned int)tx_buffer;
AT91C_BASE_PDC_US0->  PDC_TCR = tx_counter;
AT91F_PDC_EnableTx (AT91C_BASE_PDC_US0);
//while (AT91C_BASE_PDC_US0->  PDC_TCR & 0xFFFF);
}


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:[分享]IIC-China与您相约2009

[下一篇主题]:电镀电源 信号控制专用直流(电压/电流)信号隔离转换器