Неа... ни пахаить...у меня нету половины всяких либов и lkk чтоб скомпилить проект...да и просто класс сериалки беру создаю откруваю на 230400 и меня снова куда-то далеко посылають жееееесть....(
Здравствуйтею. Вот такое дело изучаю WinAVR после CVAVR
#include <avr/interrupt.h> // прерывание #include <avr/io.h> // библиотека I/O #include <util/delay.h> // библиотеки пауз #include <stdio.h> #include <avr/pgmspace.h>
#define kn1 (PINC & (1<<0))
void proba (void) { if(kn1==0) { printf("%3u\r",35); while(kn1==0); _delay_ms(50); } int main(void) {.......... ........... } while (1) { proba();} Это вкрадце. Пытаюсь просто при нажатии кнопки выдовала 35. В CVAVR работает,а WinAVR нет чё не так подскажите,симулировал на AVRstudio+PROTEUS. Спасибо.
В CVAVR работает,а WinAVR нет чё не так подскажите,симулировал на AVRstudio+PROTEUS.
а вы вывод-то в UART определили самостоятельно? WinAVR не делает этого за вас! лично я использую такой модуль (см. вложение) - просто подключите его к проекту и в его хидере укажите требуюемую скорость связи и другие параметры, что вам потребуются... после этого printf() будет выводить в USART автоматически.
Я понимаю так,в регистре UCSRB при установке бита TXEN,вывод TXD становится выходом UART.Или я что то не догоняю.
"вывод" - это я имел ввиду "процесс вывода байта", а не режим работы ножки МК WinAVR работает в расчете на то, что программист сам должен сделать функцию вывода 1 байта (куда угодно и как угодно), а уж остальные задачи библиотека stdio берет на себя. и я вам дал пример, как это надо (можно) сделать.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
ARV Спасибо, буду пробовать. Подскажите что за переменные такие со звёздочкой *cp, *cp2;*rxp;FILE *stream, uint8_t count,после cvavr так всё трудно понимается.
переменные со звездочкой - это указатели. это стандартная возможность языка Си - в CVAVR это тоже есть. а трудно вам потому, что вы Си не знаете, а напрасно.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
лично я использую такой модуль (см. вложение) - просто подключите его к проекту и в его хидере укажите требуюемую скорость связи и другие параметры, что вам потребуются... после этого printf() будет выводить в USART автоматически.
Большое Спасибо. Заработало. Долго не мог понять куда чё подключать. А принимать данные с компа будет?
лично я использую такой модуль (см. вложение) - просто подключите его к проекту и в его хидере укажите требуюемую скорость связи и другие параметры, что вам потребуются... после этого printf() будет выводить в USART автоматически.
Большое Спасибо. Заработало. Долго не мог понять куда чё подключать. А принимать данные с компа будет?
для приема надо добавить функцию ввода байта, однако, с этим не все так просто: стандартные функции ввода из stdlib.h работают по ожиданию, т.е. "зависают" до тех пор. пока не получат то, что хотят. так что с вводом надо извращаться...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
для приема надо добавить функцию ввода байта, однако, с этим не все так просто: стандартные функции ввода из stdlib.h работают по ожиданию, т.е. "зависают" до тех пор. пока не получат то, что хотят. так что с вводом надо извращаться...
А можно какой примерчик, что бы предстевление иметь, а то DEMO ну не чё понять не могу.
Вроде чё то получается, а вот можно как то преобразовать(представить) ASCII-код в целое число для того что бы можно было как то их обрабатывать и отображеть зажиганием светододов, или это глупость.
Вроде чё то получается, а вот можно как то преобразовать(представить) ASCII-код в целое число для того что бы можно было как то их обрабатывать и отображеть зажиганием светододов, или это глупость.
функция atoi вам в помощь
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Доброе время суток! Может кто сталкивался с таким делом. Отправляю данные с компа на контроллер контр дожен ответить и он отвечает но зацикливается,и ни как не могу исправить это дело вот. Проверял на протеусе всё чётко. ПРограмма для проверки COM Port Toolkit 3.7 да впрочем и другие программы так же работают, а зто отрывок #include <stdlib.h> #include <avr/interrupt.h> // прерывание #include <stdio.h> // ввод вывод в UART #include "com_io.h" #include "com_io.c" #include <avr/io.h> // библиотека I/O #include <util/delay.h> // библиотеки пауз stdlib int tr=0; ISR(USART_RXC_vect) // USART, Rx Complete { scanf("%d",&tr); printf("summa=%3u\n",tr); } int main(void) UCSRA=0x00; UCSRB=0x98; UCSRC=0x86; UBRRH=0x00; UBRRL=0x19; sei(); // глобальное разрешение прерываний while (1)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения