Jump to content

timon_ad

Members
  • Content Count

    21
  • Joined

  • Last visited

Community Reputation

2 Обычный

About timon_ad

  • Rank
    Новенький

Информация

  • Город
    Minsk

Электроника

  • Стаж в электронике
    Не связан с электроникой
  1. Посмотрел сегодня видушку, все четко по полочкам. буду пробовать делать. Напомню не забудьте плз. к практическому уроку задание текстом. =) Спасибо!
  2. Да в одной из лекций говорили что 8а чуть быстрее, а так они не отличаются. так что можете девелопить под 8. я думаю ничего страшного не будет.
  3. Какая то у меня коротенькая программка получилась: #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> // задаем токены, кот. будут использоватся в программе #define PORT_OUT 0xFF #define PORT_OFF 0x00 #define PORT_ON 0xFF #define PORT_B_NUM 0 #define PORT_C_NUM 1 #define PORT_D_NUM 2 // функция для начальной инициализации МК void preset() { // инициализируем PORT B DDRB = PORT_OUT; PORTB = PORT_OFF; // инициализируем PORT C DDRC = PORT_OUT; PORTC = PORT_OFF; // инициализируем PORT D DDRD = PORT_OUT; PORTD = PORT_OFF; } int main(void) { preset(); while(1) { int port_num = rand() % 3; // случайным образом выбираем один из портов int led_num = port_num == PORT_C_NUM ? rand() % 7 : rand() % 8; // выбираем диод кот. будет зажигатся (поскольку PORT C имеет только 7 ножек, то берем остаток от деления на 7) // на выбранном порту зажигаем, выбранный диод switch(port_num){ case PORT_B_NUM: PORTB = 1 << led_num; break; case PORT_C_NUM: PORTC = 1 << led_num; break; case PORT_D_NUM: PORTD = 1 << led_num; break; } _delay_ms(500); // тушим все диоды PORTB = PORT_OFF; PORTC = PORT_OFF; PORTD = PORT_OFF; _delay_ms(100); } } Но главное что работает =)
  4. Господа может вынесем обсуждение как надо учить в другую тему, а то последние 3 страницы, читаешь а по теме ноль. Спасибо всем за понимание! :-)
  5. А почему по электронике? У нас допустим препод был в универе прожил на мк, а его коллега хорошо разбирался в железе. Вот и я допустим учил когда то Си и кое чего помню, но вот электроники не было. Поэтому давайте не будем рассказывать нашему лектору, как и что ему делать. А если хотите то велком новую тему на форуме и давайте людям Си.
  6. Вот у меня была такая же проблема была решилась с помощью симболс! Спасибо rv3sbq! Только полностью отдав себе отчет в том, что дальнейшие эксперименты с этим МК будут прекращены, если вы не обладаете параллельным программатором. Спасибо за предостережение! новичокс, что скажешь... Хотел просто заставить мигать эту ножку тоже. Но на будущее буду иметь ввиду про RESET.
  7. Небольшая просьба, можно ли внизу видео выкладывать задание по лабе? Просто, что бы было перед глазами, а не видео пересматривать несколько раз. Заранее спасибо! =)
  8. Да установлены: http://gyazo.com/9fb...6016bae42231ea3 вот код: https://www.dropbox....yfb/Lesson2.zip Нашел в чем причина: http://gyazo.com/e24...1985e965c6a3c2e Коротко: RSTDISBL надо поставить в Programmed в настройках микроконтроллера! Вывод: смотреть сначала в даташит.
  9. я не думаю что это проблема дефайнов, насколько помню из курса по С: они подменяются на этапе компиляции. Но я попробовал и такое же поведение. При запуске загорается порт синим (ноль), а затем горит серым. Может дело в том что я даю на порт 0xFF а там 7 ног вместо 8-ми?
  10. Оптимизацию проверьте, должна быть выключена А где посмотреть? обыскал всю студию галочки по поводу оптимизации не нашел. Господа из вопросов кот. еще возникли почему у меня порт PC6 светится серым и отказывается мигать? программка примитивная: //Atmega8A #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> #define PORT_OUT 0xFF; #define PORT_OFF 0x00; #define PORT_ON 0xFF; void preset() { // PORT B DDRB = PORT_OUT; PORTB = PORT_OFF; DDRC = PORT_OUT; PORTC = PORT_OFF; DDRD = PORT_OUT; PORTD = PORT_OFF; } int main(void) { preset(); while(1) { PORTB = PORT_OFF; PORTC = PORT_OFF; PORTD = PORT_OFF; _delay_ms(1000); PORTB = PORT_ON; PORTC = PORT_ON; PORTD = PORT_ON; _delay_ms(1000); } }
  11. тоже самое поведение на F10 зависает на 2-ом и не переходит на 1-ый: http://gyazo.com/0b0a8601a512a85d066e552a4149a4b5
×
×
  • Create New...