Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Atmega AVR микроконтроллер Контроль семисегментника через сдвиговый регистр (ATMega8) http://www.cyberforum.ru/avr/thread1552443.html
подскажите, пожалуйста, нужно управлять 7 сегментным индикатором через регистр. Не могу никак разобраться
Конвертор между системами счисления на МК Atmega AVR микроконтроллер
По учебе столкнулся с этим. Спасибо преподавателям и их "лекциям" - ничего не понял. Нужно сделать калькулятор для перевода чисел между двоичной, восьмеричной, десятичной и шестнадцатеричной СС....
Atmega AVR микроконтроллер Нет контроля светодиодов по последовательному каналу (ASM, ATMega128)
.include "m128def.inc" ldi r16, 0b00011000 sts UCSR1B, r16 ldi r16, 0b110 sts UCSR1C, R16 ldi R16, 0b0 sts UBRR1H, R16 ldi R16, 47 sts UBRR1L, R16
Atmega AVR микроконтроллер Переключение четырех светодиодов (сдвиг) по кнопке Добрый день. Требуется помощь в написании кода на Assembler. Задание следующее: Переключение 4-х светодиодов (сдвиг) по кнопке. Заранее спасибо!! http://www.cyberforum.ru/avr/thread1547244.html
Atmega AVR микроконтроллер Ошибка компиляции (AVR Studio, ATMega8515) http://www.cyberforum.ru/avr/thread1546582.html
Ребята сегодня впервые проходим avr вот теперь не могу запустить на avr studio программу пишет что : ../kobzik.c:2: error: expected identifier or '(' before '.' token где надо ошибку...
Atmega AVR микроконтроллер Определить четность (нечетность) содержимого ячеек памяти (ATiny 2313)
Помогите пожалуйста.Или хотя бы найти примеры подобных программ. Определить чётность (нечётность) содержимого ячеек памяти $ 0081 и $ 0082. На светодиоды вынести номер той ячейки, чьё содержимоё...
Светофор регулируемого перекрёстка на ATmega32 Atmega AVR микроконтроллер
Необходимо спроектировать микропроцессорный контроллер светофора регулируемого перекрёстка. На ATMega32 Ребят, мне нужна принципиальная схема всего этого... пожалуйста помогите! Добавлено через 1...
Atmega AVR микроконтроллер Не работает в железе (работает в Proteus, ATmega8, ASM) Прошивка работает в протеусе (V 7.7 SP 2), но не работает в железе. На счет фьюзов не совсем уверен (напишите какие нужны без кварца). .INCLUDE "m8def.inc" .DEF _tmp = R16 .DEF _out = R17... http://www.cyberforum.ru/avr/thread1543740.html
Atmega AVR микроконтроллер Не происходит возврат из подпрограммы (AVR Studio 4, Asm) http://www.cyberforum.ru/avr/thread1540027.html
Доброго времени суток. Пишу мигающий светодиод на Avr ассемблере под Atmega16, среда AVR Studio 4. Написал отдельную подпрограмму для задержки, получилось что-то вроде этого: .include "D:\Program...
Atmega AVR микроконтроллер Прошивка термостата с холодильника на мк Atmega16, через KOM-port ? Здравствуйте!! Имеются около 10-ка термостатов с холодильников, на мк Atmega16!! Возможно ли с мк вынуть прошивку, и подредактировать С работку реле по температуре от +10 до 100 градусов??? В нем... http://www.cyberforum.ru/avr/thread1532535.html
Salah_ad_Din
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 7
23.10.2015, 19:45  [ТС] 0

Работа с UART (Си, ATtiny 2313)

23.10.2015, 19:45. Просмотров 2112. Ответов 21
Метки (Все метки)

Ответ

кстати нашол код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//процедура приема строки по UART с использованием прерываний////////
/*при первом вызове функции создаем указатель на char выделяем память под 1 символ,
ждем пока он не придет, когда пришел записываем его в выделенную память, если
есть еще символы то выделяем еще байт и так до тех пор пока все символы не кончатся.
При последуюющих вызовах функции сначала нужно очистить память которую выделяли в прошлый раз
для этого указатель str объявляли как static.
 
выход из функции происходит только когда придет символ '\r' или '\0'
*/
char * u_receive_int (void) {
static char * str=NULL;        //объявляем указатель на строку статическим что бы при повторных вызовах можно было очистить память
static int i=0;            //создаем счетчик
char temp;                    //временная переменная
if (i==0) {                //если i==0 то либо функция еще не вызывалась либо в прошлый раз строка закончилась и надо освободить память
    free(str);            //то освобождаем память
    str=NULL;            //сбрасываем указаель    
}
temp=UDR0;                     //Считываем принятый байт в temp
if ((temp!='\0')&&(temp!='\r')) {    //Если приянтый байт не равен '\r' или '\0' то:
    str=(char*) realloc(str, i+1);        //выделяем память под символы
    *(str+i)=temp;                    //записываем принятый байт в конец массива
    i++;                    //инкрементируем счетчик
    //PORTB=1<<1;
    return NULL;            //так так это еще не конец строки то возвращаем нулевой указатель
}
else {
    //PORTB=1<<2;
    *(str+i)='\0';                    //записываем '\0' в конец массива
    i=0;                             //обнуляем счетчик
    return str;                        // возвращаем указатель на область памяти, по которому можно обратиться к принятым данным
};
 
}


Вернуться к обсуждению:
Работа с UART (Си, ATtiny 2313)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2015, 19:45
Готовые ответы и решения:

ATtiny 2313
Добрый день, возникли трудности с работой с МК. Это мой первый практический опыт в паянии и работе...

Attiny 2313 не прошивается
Attiny 2313 пытаюсь прошить через arduino nano но ни как не могу подключил тут на nano есть...

AtTiny 2313, прерывания
Доброго времени суток. Решил освоить программирование МК и сразу же столкнулся с проблемой, которую...

Термостат на ATTiny 2313
Собираю термостат в Протеусе на Attiny 2313. Имеется код на ассемблере (5.txt) но компилятор...

ATtiny 2313. Контроль освещения
Требуется написать программу на Assembler или на С++ Программа не для рабочего микропроцессора,...

21
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru