ببخشید میخاستم ببنیم مشکل این کد چیه ؟ چرا تو شبیه ساز اجرا نمیشه ؟ :smile:
کد:
#include <at91sam7s64.h>
#include <stdio.h>
#define FRQUNCE_HZ 47923200
#define SERIAL_BAUDRATE 9600
#define SERIAL_BAUDRATE_DIVISOR (FRQUNCE_HZ/16/SERIAL_BAUDRATE);
//void init_serial();
void init_serial()
{
*AT91C_PIOA_PDR = (1<<5 | 1<<6);
*AT91C_US0_CR = AT91C_US_RSTTX |
AT91C_US_RSTRX |
AT91C_US_TXDIS |
AT91C_US_RXDIS;
*AT91C_US0_MR = AT91C_US_USMODE_NORMAL |
AT91C_US_CLKS_CLOCK |
AT91C_US_CHRL_8_BITS |
AT91C_US_PAR_NONE |
AT91C_US_NBSTOP_1_BIT;
*AT91C_US0_BRGR = SERIAL_BAUDRATE_DIVISOR;
*AT91C_US0_CR = AT91C_US_TXEN |
AT91C_US_RXEN;
}
int sendchar(int ch)
{
if(ch == '\n')
{
while(!(*AT91C_US0_CSR & AT91C_US_TXRDY));
*AT91C_US0_THR = '\r';
}
while(!(*AT91C_US0_CSR & AT91C_US_TXRDY));
return (*AT91C_US0_THR = ch);
}
int getkey()
{
while(!(*AT91C_US0_CR & AT91C_US_RXRDY));
return (*AT91C_US0_RHR);
}
int main()
{
init_serial();
printf("Hellow");
while(1)
{
}
}




دیدگاه