- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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; } } }Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
do confirm if the value that pinput is holding when any car detected.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page