простые интересные РАДИОСХЕМЫ сделанные своими руками

» Гость

Мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизируйтесь!





» ДАТАШИТЫ
Например: TDA1562

» СХЕМЫ


Отметить прочитанными   -   Поиск   -   Правила   -   Новые сообщения

Страница 1 из 10123910»
Модератор форума: Igoran, Витинари, Sam 
Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Помощь в программировании (Подскажите в какой теме можно задать вопрос)
Помощь в программировании
Чт, 25.05.2017, 17:54 | Сообщение # 1        
Ник
аватар
  Постов: 206  Offline
Доброе время суток. Подскажите в какой теме можно задать вопрос по помощи в освоении написания программ и ее практическому использовании. За ранее благодарен.

Добавлено (25.05.2017, 17:54)
---------------------------------------------
Я учусь писать программы на контроллеры авр, есть вопросы которые не могу решить даже с помощью просторов интернета. Пожалуйста помогите.
Почему те же самые программы на писаные на разные контроллеры на одних работают на других нет.

Чт, 25.05.2017, 22:22 | Сообщение # 2        
psialt
аватар
  Постов: 12  Offline
Ник, программы, языки программирования и контроллеры разные бывают cry
Для контроллеров в основном языки низкоуровневые, это значит они довольно сильно привязаны к железу, на котором должны работать. Тут и адресация, номера портов, набор инструкций итд итп
В принципе это все что можно сказать без более полной конкретики
Пт, 26.05.2017, 09:18 | Сообщение # 3        
nolpofaze
аватар
  Постов: 231  Offline
Ник, какой контроллер, какой язык??? Код? В каком месте кода затык?


Отредактировал nolpofaze - Пт, 26.05.2017, 09:19
Пт, 26.05.2017, 13:00 | Сообщение # 4        
Ник
аватар
  Постов: 206  Offline
Язык Си, есть три контроллера атини2313, мега8, мега32. Вот код:

#include <mega8.h>

#include <delay.h> // библиотека задержки

unsigned char a=0;

// Timer1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{

PORTD=(1<<a); // сдвиг влево на один бит
a++;
if (a>7)
{
a=0;
};

TCNT1=0x00; //обнуление счетчика
};




void main(void)
{

PORTD=0x00;
DDRD=0xFF; // настройка порта на выход

// Timer/Counter 1 initialization
//частота: 3,906 kHz, Compare A Match Interrupt
TCCR1A=0x00;
TCCR1B=0x05;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x07;
OCR1AL=0xA1;
OCR1BH=0x00;
OCR1BL=0x00;

TIMSK=0x10; // выход в прерывание по совпадению

#asm("sei") // глобальное разрешение прерываний

while (1)
{
delay_ms(10); //если это вставить то работает, или другое но не сложное
};
};
на меге 8 не работает. Работает на атини2313 и мега32, соответственно при подключении библиотек на микроконтроллер. Фьюзы на меге 8 и 32 выставлены на частоту 8 МГц. на атини 4МГц. внутрений генератор. В чем причина? Есть 2 меги8 и на обеих не работает, но стоит вставить хоть что то в цикл то работает. Программа посложнее уже не работает.

Добавлено (26.05.2017, 13:00)
---------------------------------------------
Данная программа делает "бегущий огонь" на 8 светодиодах.

Пт, 26.05.2017, 13:26 | Сообщение # 5        
Egour
аватар
  Постов: 871  Offline Друзья 
Цитата Ник ()
Я учусь писать программы на контроллеры авр

Стоит ли, при том, что компания Атмел сдохла и приобретена Микрочипом?

Учитесь писать под PIC или STM. А Си он и в Африке Си, под любое устройство. С некоторыми нюансами, конечно же. Разные компиляторы, разные названия регистров и т.п. Вот эти нюансы и не дают просто переносить программы с одного типа МК на другой. Даже в МК одной фирмы могут быть отличия в настройке тех или иных функций периферийных устройств.
А библиотеки желательно свои иметь, чтобы не разбираться в фантазиях программиста писавшего стандартные либы. Ну там задержки, работа с усарт и т.д. и т.п.


Отредактировал Egour - Пт, 26.05.2017, 13:29
Пт, 26.05.2017, 13:46 | Сообщение # 6        
nolpofaze
аватар
  Постов: 231  Offline
Ник, значит инициализируешь контроллер не так, или мега все-таки дохлая.
Пт, 26.05.2017, 15:08 | Сообщение # 7        
Ник
аватар
  Постов: 206  Offline
Давно хотел начать учиться программированию, но то времени нет то возможности. Вот примерно 3 недели назад созрел и начал учить. Ассемблер пока отставил по той причине что когда то программы писал (баловался больше чем толку) на Бэйсике. Микроконтроллеры просто такие были под рукой, да и программатор я когда то спаял для них. По же куплю новую мегу8 попробую еще. Пока самый сложную программу я написал спидометр на велосипед (показывает скорость, суточный пробег и общий пробег. Суточный можно сбросить в 0, а общищ записывается в память еепром и сбросится в 0 при переполнении.)
$IMAGE1$
Пт, 26.05.2017, 15:32 | Сообщение # 8        
Ник
аватар
  Постов: 206  Offline

Добавлено (26.05.2017, 15:32)
---------------------------------------------
Да и на PIC или STM надо то же попробовать. Какой компилятор подходит для написание программы на данные контроллеры?

Пт, 26.05.2017, 16:42 | Сообщение # 9        
Egour
аватар
  Постов: 871  Offline Друзья 
Для PIC есть среда программирования от Microchip. Называется MPLAB. В ней подключается компилятор Си на выбор, HI-TECH или XC8. Мне больше XC8 понравился, хотя он и не лишен недостатков.
Пт, 26.05.2017, 17:14 | Сообщение # 10        
Ник
аватар
  Постов: 206  Offline
Спасибо, Egour, скачаю попробую что то написать, правда я с PIC не имел дела никогда sad . Буду учится biggrin
Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Помощь в программировании (Подскажите в какой теме можно задать вопрос)
Страница 1 из 10123910»
Поиск:
Кто есть кто на форуме радиолюбителей: Администратор Модераторы Друзья Пользователи
Группа вконтакте Канал ютуб Группа в фэйсбук Мобильная версия © 2010-2018, "Радиосхемы". Все права защищены. Почта