Вот это только начало моих вопросов
Вот это только начало моих вопросов
Благодарю за советARV писал(а): 1. стартовый МК - любой AVR, оптимально atmega8 или atmega88
2. отладка методом симуляции - средствами AVR Studio и ISIS PROTEUS VSM (не слушайте никого про вред симуляторов!)
3. язык для изучения и начала работы - СИ.
По всем трем пунктам даже на этом форуме вам сможет помочь практически каждый, ну четверо из пяти, в крайнем случае
неправильно написалARV писал(а): 3. так скажу: тут нет ни одного человека, знающего Си, кто изучил бы его не с нулялюбой язык с нуля учится.
а
К гадалке не ходи... тем более что перейти с STM32 на STM8, для совсем уж простых решений - как два пальца...oleg110592 писал(а):имхо все таки проще и перспективнее будет освоить микроконтроллеры STM, лучше уж сразу STM32
Два диаметрально противоположных мнения. Истина где-то посредине. Симулятор никогда не заменит отладку в железе в реальном времени, особенно если на МК навешано еще что-то внешнее, у которого свои времянки. С другой стороны, если прога не работает, что, тупо смотреть на нее и ругаться матом? Я в таких случаях загружаю родимую Студию, расчленяю прогу на фрагменты и исследую подозрительные места. Быстрее, чем изменил байт - перезалил в МК - опять тупо смотришь.GARMIN писал(а): Отлаживать в железе и в симуляторе - две большие разницы. Не трать силы и время, догоняя отставший поезд.
Да, светодиод в отладке повышает скилл телепатииoleg110592 писал(а):Для AVR лучший отладчик это светодиод или usart (imho).
Код: Выделить всё
После прошивки подключаем терминалку на скорости 115200 и смотрим отладочный вывод из target
Функции в target:
void init_debug(void)
{
PORTB=0x00;
DDRB=0x38;
PORTB.3=1; // сигнал MOSI программатора - используется как SS
delay_ms(1);
PORTB.3=0;
delay_ms(1);
}
void putchar( char c)
{
unsigned char n;
for (n=0;n<8;n++)
{
if (c & 1) PORTB.4=1; // сигнал MISO программатора - данные
else PORTB.4=0;
PORTB.5 =0; // сигнал SCK программатора - clock
delay_us(100);
PORTB.5 =1;
delay_us(100);
c=c>>1;
}
}