Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Ответ
Опции темы

Программирование на Си в WinAVR

Непрочитано 08.03.2010, 17:05   #21
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Программирование на Си в WinAVR.

Через 1,5 года получить совет это круто На даты все же смотрите иногда.
Реклама:
kison вне форума   Ответить с цитированием
Сказали "Спасибо" kison
RY723 (08.03.2010)
Непрочитано 08.03.2010, 17:11   #22
RY723
Заблокирован
 
Регистрация: 08.08.2007
Сообщений: 2,820
Сказал спасибо: 375
Сказали Спасибо 1,364 раз(а) в 744 сообщении(ях)
RY723 на пути к лучшему
По умолчанию Re: Программирование на Си в WinAVR.

Сообщение от vitalik9 Посмотреть сообщение
-› PORTB=0xff; // настраиваем порт Б на вывод данных
Не путайте:

DDRB = 0xFF; // Порт на вывод данных
DDRB = 0x00; // Порт на чтение данных

Это Атмел, а не Микрочип
RY723 вне форума   Ответить с цитированием
Непрочитано 08.03.2010, 17:46   #23
_guardianangel
Почётный гражданин KAZUS.RUN
 
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,138
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
_guardianangel на пути к лучшему
По умолчанию Re: Программирование на Си в WinAVR.

p-a-s-h-a1
Код:
#include ‹ctype.h›
#include ‹stdint.h›
#include ‹stdio.h›
#include ‹stdlib.h›
#include ‹inttypes.h›
#include ‹avr/io.h›
#include ‹avr/iom16.h›
#include ‹avr/interrupt.h›

#define	F_CPU		11059200UL
#define BAUD_RATE	((F_CPU/(16*115200))-1)
	
ISR(USART_RXC_vect, ISR_BLOCK)
{
	PORTB = UDR;
}

int main(void)
{
	/*config USART*/
	UBRRH = (unsigned char)((BAUD_RATE ›› 8) & 0x7F); /*Задаем скорость старший байт*/
	UBRRL = (unsigned char)BAUD_RATE; //Задаем скорость младший байт 
	UCSRB = _BV(RXEN) | _BV(TXEN) | _BV(RXCIE); //Разрешаем прием (RXEN), передачу (TXEN), прерывание по приему (RXCIE)
	//config io ports
	DDRB = 0xFF; //Порт В на вывод
	//global interrupt enable
	sei();
	//
	for(;;){}
	return(-1);
}
_guardianangel вне форума   Ответить с цитированием
Непрочитано 27.02.2011, 21:12   #24
roma9112
Гражданин KAZUS.RUN
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Программирование на Си в WinAVR.

Подскажите, кто сможет. Уcтановил я AVR-studio, попробовал написать несколько прог на ассемблере, вроде все хорошо, но любопытство толкает осваивать СИ. Доставил Winavr, помигал светодиодами, попробовал циклы, дошел до прерываний и заткнулся чего-то. Сделал схемку на Меге8535 и 3-х разрядном 7-сегментном индикаторе с динамической индикацией по разрядам. Сначала по циклу, цифры просто с нехилой скоростью бежали от 0 до 999, ну да ладно - это заработало. Решил сделать на таймере задержку переключения цифр, так в студии они вообще не переключаются, а в протеусе почему то младший разряд переключается нормально, а остальные по какому то неведомому мне закону. Пробовал мигать светодиодом по таймеру, пищалкой пищать - нормально все. Гляньте кто может, пожалуйста, где я начудил?
Вложения:
Тип файла: rar 3_digit.rar (26.0 Кб, 43 просмотров)
roma9112 вне форума   Ответить с цитированием
Непрочитано 27.02.2011, 21:59   #25
andries5
Почётный гражданин KAZUS.RUN
 
Регистрация: 19.02.2008
Сообщений: 1,840
Сказал спасибо: 128
Сказали Спасибо 613 раз(а) в 430 сообщении(ях)
andries5 на пути к лучшему
По умолчанию Re: Программирование на Си в WinAVR.

Немного подправил
while(1)
{
PORTD=0xff;
count1=count;
if(count1==10)count2++;
if(count›=10)count=0;
PORTB=number[count1];
PORTD=0xfe;
PORTD=0xff;
PORTB=number[count2];
PORTD=0xfd;

PORTD=0xff;
PORTB=number[count3];
PORTD=0xfb;
if(count2==10)count3++;
if(count1==10)count1=0;
if(count2==10)count2=0;
if(count3==10)count3=0;
}
}

ISR(TIMER1_OVF_vect)
{
TCNT1=0xfc00;
count++;
}
Расчеты надо делать до вывода на табло и цифра не может быть равна 10.
andries5 вне форума   Ответить с цитированием
Сказали "Спасибо" andries5
roma9112 (27.02.2011)
Непрочитано 27.02.2011, 22:32   #26
roma9112
Гражданин KAZUS.RUN
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Программирование на Си в WinAVR.

Спасибо, попробую внимательно разобрать получившееся. И еще как-то неудобно получается, что AVRctudio не отображает при симуляции изменяющееся значение таймера, непонятно когда ловить прерывание, это никак нельзя исправить?
roma9112 вне форума   Ответить с цитированием
Непрочитано 27.02.2011, 22:52   #27
roma9112
Гражданин KAZUS.RUN
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Программирование на Си в WinAVR.

Странное дело! Запускаю исправленную прогу в Протеусе - все идет как задумано, включаю симуляцию в Студии - идет только сам цикл, на счетчике 2 секунды, а прерывания так и не возникло! Что это? Ни у кого так не было?
roma9112 вне форума   Ответить с цитированием
Непрочитано 27.02.2011, 23:21   #28
roma9112
Гражданин KAZUS.RUN
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Программирование на Си в WinAVR.

Переустановил и Студию и Winavr с перезагрузками, начал ход таймера отображаться, правда коэффициент деления тактовой большой, довольно таки медленно процесс идет, но идет!
roma9112 вне форума   Ответить с цитированием
Непрочитано 28.02.2011, 08:55   #29
roma9112
Гражданин KAZUS.RUN
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Программирование на Си в WinAVR.

Разобрался почему симулятор косячил - новая версия касперского порезала файлы, даже компиляция такой простой программы около минуты шла, я теперь прям в раздумьях...
roma9112 вне форума   Ответить с цитированием
Непрочитано 28.02.2011, 11:34   #30
andries5
Почётный гражданин KAZUS.RUN
 
Регистрация: 19.02.2008
Сообщений: 1,840
Сказал спасибо: 128
Сказали Спасибо 613 раз(а) в 430 сообщении(ях)
andries5 на пути к лучшему
По умолчанию Re: Программирование на Си в WinAVR.

Сообщение от roma9112 Посмотреть сообщение
новая версия касперского порезала файлы
Странно, у меня касперский ничего не испортил. А вообще пользую Winavr.
andries5 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подниму тему WinAVR vs IAR oleg110592 Микроконтроллеры, АЦП, память и т.д 5 24.10.2015 14:06
На WinAVR + AVR Studio c CVAVR Vetal-soft Embedd С 87 03.03.2013 20:31
Глюки WinAVR KBH-I Коллекция глюков 19 07.06.2011 01:16
Помогите с массивами в WinAvr Sho_otnik Микроконтроллеры, АЦП, память и т.д 7 07.01.2011 11:56
WinAVR не нравится символ '\' vovan_zh Микроконтроллеры, АЦП, память и т.д 10 10.09.2010 20:48


Часовой пояс GMT +4, время: 12:20.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.