Доброго времени суток! Тем по изучению таймеров много, они повторяются но не достаточно понятны. У Tiny13 два 8-битных таймера и оба могут работать в ШИМ модуляции. Но как их запустить не пойму. Начал писать программу - ниже
не стоит писать 3 команды, там где достаточно одной TCCR0A|=(0<<WGM02)+(1<<WGM01)+(1<<WGM00);
Если учебники позволялибы и училибы так быстро писать на С, разве возниклабы эта тема. Я думаю в книгах излагают слишком абстрктно темы, "типа если не дурак то поймёш" Но если человек учится и делает первые шаги в этом направлении - то нужно описывать каждую точку, каждую черту, каждую строку, для чего она служит.
Или как многие советуют, изучать архитектуру МК. Ну изучил его, знаю каждую строчку, а как собрать эти знания воедино, чтобы родилась программа. Вспомните как Нас мамы учили когда мы были маленькими, рассказывая и показывая. Мне форумы здорово помогли, кстати 95% знаний получал именно от по помощи ребят. Хотя книг у меня очень много, но то как написанно TCCR0A|=(0<<WGM02)+(1<<WGM01)+(1<<WGM00); - это вижу впервые. Лучше уж идти по подсказке, чем идти в никуда. Я так думаю.
Поэтому помогите пожалуйста, я сам не разбирусь. Спасибо.
king-live писал(а):Если учебники позволялибы и училибы так быстро писать на С, разве возниклабы эта тема.
..... учебники дают базу, а учится человек на своих ошибках. Лучший документ для изучения - datasheet, из книжек в качестве справочника лучшие ИМХО книги Евстифеева.
Пока не получилось! Множество документов паралельно приходится читать, сопостовлять готовый код, с тем что хочется написать. С английским не в ладах даже переводчик не спасает. Всё в общих чертах. Так что это надолго.
king-live писал(а):Множество документов паралельно приходится читать, сопостовлять готовый код, с тем что хочется написать. С английским не в ладах даже переводчик не спасает. Всё в общих чертах. Так что это надолго.
... может сложиться впечатление, что работа ШИМа, что то из ряда вон.... если не в ладах с английским - где читать уже писал. Заполнить всего то пару значений ... это надолго?
Заполнить ничего не смог, так как это програмку ICC
Application Builder не смог скачать. Хотя по описанию действительно вроде как легко. но раз нет проги то и далее делать нечего, а вот последний архивный файл дал толчок. Спасибо. Откуда скачать можно нормальную ICC
Application Builder.
Это я уже читал несколько раз статьи хорошие позновательные? Я не понял следующую строчку.
uchar cnt;
С помошью #define - uchar заменил unsigned char. А дальше - разве не должно быть так uchar=cnt;
Вот теперь сможете мне без ссылок на сайты, объяснить что и где я прав и не прав.
Спасибо!
king-live писал(а):Это я уже читал несколько раз статьи хорошие позновательные? Я не понял следующую строчку.
uchar cnt;
С помошью #define - uchar заменил unsigned char. А дальше - разве не должно быть так uchar=cnt;
Вот теперь сможете мне без ссылок на сайты, объяснить что и где я прав и не прав.
Спасибо!
uchar - это ТИП, ему нельзя что-либо присваивать. cnt - это ПЕРЕМЕННАЯ типа uchar. запись uchar cnt; и обозначает объявление переменной типа uchar, т.е. в этот момент в ОЗУ выделяется нужное количество ячеек для переменной. количество ячеек определяется типом - в данном случае это 1 байт, т.е. одна ячейка. по умолчанию эта ячейка будет обнулена, но если вам надо, чтобы с самого рождения переменная cnt содержала какое-то ненулевое значение, можно сделать это в момент ее объявления: uchar cnt = 125; - в этом случае ячейка в ОЗУ не только будет выделена, но еще в нее будет записано число 125.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...