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

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

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

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

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

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

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

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

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

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

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

Это Атмел, а не Микрочип
RY723 вне форума  
Непрочитано 08.03.2010, 17:46   #23
_guardianangel
Почётный гражданин KAZUS.RU
 
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,140
Сказал спасибо: 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.RU
 
Регистрация: 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.RU
 
Регистрация: 19.02.2008
Сообщений: 1,802
Сказал спасибо: 124
Сказали Спасибо 602 раз(а) в 419 сообщении(ях)
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.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Программирование на Си в WinAVR.

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

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

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

Разобрался почему симулятор косячил - новая версия касперского порезала файлы, даже компиляция такой простой программы около минуты шла, я теперь прям в раздумьях...
roma9112 вне форума  
Непрочитано 28.02.2011, 11:34   #30
andries5
Почётный гражданин KAZUS.RU
 
Регистрация: 19.02.2008
Сообщений: 1,802
Сказал спасибо: 124
Сказали Спасибо 602 раз(а) в 419 сообщении(ях)
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, время: 11:40.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot