پاسخ : کمک کمک AVR GCC
اینا لینک مستقیم دانلودش هست. امتحانش کن اگه نشد بگو واست ایمیل کنم :
http://www.mil.ufl.edu/~chrisarnold/components/microcontrollerBoard/AVR/avrlib/avrlib.zip
http://www.mil.ufl.edu/~chrisarnold/components/microcontrollerBoard/AVR/avrlib/avrlib_setup.exe
خب ، خوشجالم که توی کامپایلش مشکلی نداشتید
بله عزیزم ، من تقریبا توی تمام برنامه هام از rprintf استفاده میکنم ! ( کلا چیز بدرد بخوریه )
عجق وجق بودن کارکترها هم دو دلیل میتونه داشته باشه :
۱ - یکی نبودن BaudRate ارسال کننده ( میکروکنترلر ) با گیرنده ( توی پروتیوس احتمالا vitualTerminal )
۲ - تناسب نداشتن BaudRate با فرکانس آی سی
شما فرکانس آی سی رو ( که توی فایل global.h معرفی شده) روی 1MHz تنظیم کن و باود ریت رو هم روی 1200 بزار ببین چی میشه .
-----------------------------------
راستی یه راه دیگه هم هست که بدون داشتن کتابخونه avrlib میشه اینکارو انجام داد ( البته با avrlib کار کن ، بدردت میخوره ) و اونم استفاده از همین avr-libc هست
به این صورت :
اینو توی help خود avr-libc دیدم:
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html
نوشته اصلی توسط علی-
http://www.mil.ufl.edu/~chrisarnold/components/microcontrollerBoard/AVR/avrlib/avrlib.zip
http://www.mil.ufl.edu/~chrisarnold/components/microcontrollerBoard/AVR/avrlib/avrlib_setup.exe
نوشته اصلی توسط kasper
بله عزیزم ، من تقریبا توی تمام برنامه هام از rprintf استفاده میکنم ! ( کلا چیز بدرد بخوریه )
عجق وجق بودن کارکترها هم دو دلیل میتونه داشته باشه :
۱ - یکی نبودن BaudRate ارسال کننده ( میکروکنترلر ) با گیرنده ( توی پروتیوس احتمالا vitualTerminal )
۲ - تناسب نداشتن BaudRate با فرکانس آی سی
شما فرکانس آی سی رو ( که توی فایل global.h معرفی شده) روی 1MHz تنظیم کن و باود ریت رو هم روی 1200 بزار ببین چی میشه .
-----------------------------------
راستی یه راه دیگه هم هست که بدون داشتن کتابخونه avrlib میشه اینکارو انجام داد ( البته با avrlib کار کن ، بدردت میخوره ) و اونم استفاده از همین avr-libc هست
به این صورت :
کد PHP:
#include <stdio.h>
static int uart_putchar(char c, FILE *stream);
static FILE mystdout = FDEV_SETUP_STREAM(uart_putchar, NULL, _FDEV_SETUP_WRITE);
static int uart_putchar(char c, FILE *stream){
if (c == '\n')
uart_putchar('\r', stream);
loop_until_bit_is_set(UCSRA, UDRE);
UDR = c;
return 0;
}
int main(void){
init_uart();
stdout = &mystdout;
printf("Hello, world!\n");
return 0;
}
اینو توی help خود avr-libc دیدم:
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html












دیدگاه