Bill
Участник-
Постов
413 -
Зарегистрирован
-
Посещение
Весь контент Bill
-
Нужно оптимизировать код
Bill ответил skyled тема в MCS51, AVR, PIC, STM8, 8bit
Попробуйте так // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { char _tmp; // Reinitialize Timer 0 value TCNT0=256-39+4; //PWM----------------------- _tmp = ++pwr_cnt; if (red_a > _tmp) { PORTD.7=1;} else {PORTD.7=0;}; if (green_a > _tmp) {PORTD.6=1;} else {PORTD.6=0;}; if (blue_a > _tmp) {PORTD.5=1;} else {PORTD.5=0;}; } -
Ну так посмотрите скрипт линкера и отредактируйте в нем размер секции. Или нет?
-
Совсем нет. Когда Вирт придумал Паскаль и стал его использовать в своей преподавательской деятельности, для языка и компилятора не существовало. Компилятор с Паскаля появился позже, когда возникла необходимость в реально работающих программах. Если говорить о целях, то Паскаль являлся сильно типизированным языком, со строгой проверкой типов. Это позволяло избегать двусмысленностей в конструкциях. Си же напротив, многое возлагал на самих программистов, изначально в Си отсутствовала проверка типов. При этом многие конструкции языка были ориентированы на упрощение кодирования и генерирования более эффективного кода. PS: Интересно отметить, что первый компилятор с Паскаля появился на "больших" машинах типа CDC и IBM. А первый компилятор с Си был написан для мини-ЭВМ типа Interdata, PDP. Это тоже о многом говорит.
-
А как данный код соотносится с выделением бита? Кстати, оператор shl в стандартном Паскале вообще отсутствовал.
-
Ну, во-первых, Си придумали тоже отнюдь не дилетанты. Во-вторых, Паскаль и Си появились примерно в одно и то же время. И в-третьих, цели создания языков были разные. Если Паскаль был создан в целях обучения программированию, то Си - для упрощения создания системного программного обеспечения (ОС, компиляторов и т.д. и т.п.). Наконец, создатели обоих языков являлись профессионалами в своих областях. У каждого из языков есть свои достоинства и свои недостатки. Так что спорить тут не о чем. Или нет?
-
Толерантные к +5 В выводы
Bill ответил spongebob тема в Схемотехника
Посмотрите на входы у толерантной логики 74lvc -
Методы адресации - это один из трех китов, на которых держится архитектура любого процессора (AVR в том числе). Так что стоит затратить время, чтобы разобраться с адресацией. В дальнейшем эти знания скорее всего вам понадобятся. Что касается семейства AVR, то советую внимательнее почитать сей документ Система команд AVR
-
Динамическая индикация на AVR
Bill ответил hd44780 тема в MCS51, AVR, PIC, STM8, 8bit
Вы, конечно, правы. Я и сам так поступаю в тех случаях, кода нужно быстро проверить LED. Уменьшаю напряжение до 0, потом подключаю светодиод и затем плавно увеличиваю напряжение на диоде до определенных значений. При этом еще желательно контролировать ток через диод. Только здесь есть определенный риск выжечь диод, что иногда бывало. В рабочей схеме, разумеется, я включаю LED через токоограничивающие резисторы. Надежность работы должна быть превыше всего. Или нет? -
В регистр ZL загружается содержимое ячейки памяти с адресом tmp. Если вы хотите загрузить в ZL адрес ячейки, используйте команду LDI. Все ваши проблемы возникают от того, что вы путаете различные методы адресации. В ассемблере AVR различные методы адресации определяются с помощью различных мнемоник. ldi r16, 5 ; Непосредственная (immediate) адресация - загрузка числа 5 lds r16, 5 ; Прямая (direct) адресация - загрузка в регистр r16 содержимого ячейки по адресу 5 ld r16, Z ; Косвенная (indirect) адресация - загрузка в регистр r16 через указатель Z ld r16, Z+ ; Автоинкрементная (post increment) адресация через указатель Z ld r16, Z- ; Автодекрементная (pre decrement) адресация через указатель Z ldd r16, z+5 ; Косвенная со смещением (inditect with displscement) адресация через указатель Z ; адрес ячейки памяти определяется как сумма содержимого указателя Z и числа 5 Надеюсь, что немного прояснил ситуацию. Или нет?
-
Так и должно быть. В режиме debug по умолчанию выходной файл генерируется в другом формате. Дополнительно в него может включаться отладочная информация. Проверьте настройки проекта. Опять же, если вы используете для отладки ST-Link, зачем вам тогда режим debug нужен?
-
Как спроектировать программу?
Bill ответил Slash тема в Программирование
Я тоже примерно так и делаю. Начинаю снизу - с программных модулей интерфейсов (АЦП, SPI, UART и т.д.). На этом этапе все хорошо укладывается и легко тестируется. Одновременно сверху пишу головную программу с ее бесконечным циклом, в который постепенно включаю функции среднего уровня. А вообще, перво-наперво я определяю структуры данных, с которыми будет работать программа, и описываю символические константы. -
Ну, например, можно сделать так #define D 100 #define K 11 #define Q D/K ... volatile int d = D; volatile int k = K; volatile int q = Q; ... Или нет?
-
Все порты по отношению к 8085 являются внешними, их адреса задаются аппаратно в процессе проектировании устройства.
-
Project->Settings->Linker->Input->Vector file name. Выберите нужный вам файл. Все очень просто! Или нет?
-
Intel 8085
Bill ответил Feklan тема в Все остальные микроконтроллеры
Ерунда какая! Учить можно на чем угодно! Главное, чтобы была соответствующая документация. И учат-то основам, а не конкретным МК, МП и т.п. И суть данного задания, скорее всего, в том, чтобы человек хотя бы ознакомился из чего состоит микрокомпьютерная система. А уж как она реализована - на кристалле или россыпью - дело десятое. Опять же, курсовые проекты, как правило, делаются чисто теоретически и для получения практических навыков их явно недостаточно. Другое дело, если бы преподаватель задал бы выполнения данного задания в "железе". Тогда и об использовании МК можно было бы подумать. И тут вовсе не обязательно PIC использовать, тем боле о 20 выводах. Или нет? PS: А то, что задание выдано как самостоятельное, вовсе не исключает обращений к преподавателю за консультациями. -
Ну так IAR его использует. Или нет?
-
Вообще-то принято читать сначала руководство. Там на стр.196 описана опция --string_literals_in_flash
-
Рынок труда
Bill ответил setur тема в Образование в области электроники
Лично для меня главное сделать, и не жалеть о сделанном. Лишней работы, как и знаний не бывает. А ориентироваться нужно не на рынок труда, а на свои желания. Ибо все, что делается вопреки желаниям, через силу, рано или поздно достанет по самое нехочу. С другой стороны, научиться можно лишь тому, чему захочешь. Поэтому надо сначала понять, чему именно ты хочешь научиться. -
IAR, AVR Studio, WinAVR
Bill ответил pitter_3 тема в MCS51, AVR, PIC, STM8, 8bit
Такая возможность имеется, если использовать регистры, выделенные под глобальные переменные (__regvar). -
Подробности см. мое первое сообщение. ST это не документировала, сказала что исправила.
-
А причем тут soft? А кристаллы, говорят, уже исправили. Жду новых, исправленных.
-
Сколько же нас много!!!
-
Дело начинает проясняться. Ребята из "Промэлектроники" проделали такой же опыт с STM8S103K6 и получили аналогичный результат. После этого они обратились на фирму ST и там признали свой баг. Они его исправили, обещают прислать новые контроллеры.
-
STVD + Cosmic. Нажимаешь кнопочку Debug. После прошивки отладку останавливаешь и все!