Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

Writing to UART

Simple code, trying to write to UART from terminal and light an LED if character "A" is detected. What am i doing wrong? here is the code. The manual of UART is here under \devices: http://www-ug.eecg.toronto.edu/msl/nios.html

# include <stdio.h># define RS232_UART_DATA ((volatile int*) 0x10001010)# define RS232_UART_CONTROL ((volatile int*) (0x10001010+4))

volatile int*LED =(int*)0x10000010;

int main()

{

unsigned char *pinput;

while(*pinput){

//strings in C are zero terminated

//if room in output buffer

if((*RS232_UART_DATA)&0xffff0000 )

{

//then read the next character

*(pinput)= *RS232_UART_DATA;

}

if (pinput =='A'){

*(LED)=1; }

}

}

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Check your compiler warnings. 'pinput' is an uninitialized pointer variable and it's entirely possible it is pointing at garbage memory containing a zero when your program starts.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    do confirm if the value that pinput is holding when any car detected.