Карма: 1
Рейтинг сообщений: 21
Зарегистрирован: Пн май 16, 2011 10:54:32 Сообщений: 299 Откуда: Красноярск
Рейтинг сообщения:0
Здравствуйте, уважаемые коты! И вот я вернулся. У меня есть просто море новостей. Но чтобы вам не мучиться, я сделал их максимально краткими. И так - начнем. Какие я себе ставил цели после того, как написал свое последнее сообщение здесь. 1) Выучить русский. Нашел репетитора и за год, перед сдачей экзамена (ГИА) выучил русский так, что сдал на 5 (90%). 2) Прочесть книгу, которую мне посоветовали выше. Прочел ее не с 1-го раза. 1-й раз прочел около 120 страниц и остановился за одну главу до начала самого интересного. Приступил к дальнейшему чтению лишь через пол года. Книга оказалась отличной! Но об этом ниже. 3) Выучить хоть 1 язык программирования. Выполнено. (Об этом тоже ниже) 4) Выполнить хоть 1 проект от и до. Выполнено! А теперь обо все по порядку. Если отбросить все детали, то получится так. 1. Прочел книгу до 120-й странице. 2. Узнал об языке Pascal. 3. Написал первую программу на Pascal. 4. Изучил весь язык вдоль и поперек. 5. Написал Арканоид в текстовом и графическом режимах. 6. Узнал о microPascal-е. И тот понеслась! 7. Написал игру "Волк и яйца". С железом под Atmega 8. Но после решил, что 3.4 кб памяти - это много! Да и использовать SPI - глупо. С ним, кстати, разобрался с 1-й минуты прочтения статьи. Но через год. 8. Узнал о CodeVision под AVR и языке C. 9. Очень сложно мне давалось пересесть с microPascal на C. Уж очень! Помогло лишь то, что в С есть функция обращения к пинам как, например A=PINB.3; Записать в 2-х режимную переменную значение ножки №3. Но усложняло жизнь то, что это фокус CV. AVR Studio этого не поддерживает вообще. Пришлось учиться пользоваться командами "И, ИЛИ, НЕ". Но со временем все получилось. 10. Были многократные попытки выучить ассемблер. Но безуспешно. После Pascal - это ужасно сложно! Так как он является языком высокого уровня и то, что в Pascal-е делается в 2 клика, в ассемблере нужно в ручную прописывать. Со временем хочу научиться все таки. 11. Собрал конструктор состоящий из: Пленочной клавиатуры (Самодельной), 7-seg-ментного индикатора + HC595, модуль под программатор с выводами. Вот такая получилась игрушка (В прикрепленном файле код под CV и схема Proteus). А теперь о книжке. Огромное спасибо за нее! Прочел. Это была 1-я книжка. В последствие прочел еще парочку, но они были меньше. И того теперь у меня есть опыт работы с МК во Flowcode, СV, Avr Studio и microPascal. И на компьютере Delphi и Pascal.
Вложения:
Комментарий к файлу: CV и Proteus. Проект.rar [44.98 KiB]
Скачиваний: 227
_________________ Все можно сделать, было бы желание!
ERROR_L1: .db "L1 FAIL", 13 ; XX EV_L1_FAIL ERROR_L2: .db "L2 FAIL", 13 ; XX EV_L2_FAIL ERROR_L3: .db "L3 FAIL", 13 ; XX EV_L3_FAIL
Сложно сразу сказать... С виду похоже на выдачу сообщений на LCD полученных через USART. Признаться честно - это лишь предположения. Не знаю точно. С LCD только учусь работать. А USART-а боюсь как огня... Спасибо, кстати, за идею выводить команды и данные используя массив.
_________________ Все можно сделать, было бы желание!
Карма: 1
Рейтинг сообщений: 21
Зарегистрирован: Пн май 16, 2011 10:54:32 Сообщений: 299 Откуда: Красноярск
Рейтинг сообщения:0
Спасибо . LCD уже не боюсь. Дальнейшим принципом моей "карьеры начинающего программиста" стало "Только ассемблер! Только хардкор!!!". Теперь под каждую задачу пишу свою библиотеку на ассемблере, пытаясь сократить либо объем, либо количество тактов на выполнения задачи до минимума, достигая "совершенства" в поставленной задачи. Для тех, кто пойдет по моим стопам. 1. Захочется выводить данные на LCD (В Красноярске стоимость LCD на контроллере HD44780 на 24au.ru - 100 руб, с белыми пикселями и синей подсветкой) - вот мой вариант библиотеки, выложенный на форм http://radiokot.ru/forum/viewtopic.php?f=61&t=584&start=1360. Весь код максимально подробно прокомментирован. Так что иногда, читая его, будете называть меня кэпом... Зато вопросов не будет. 2. Дальше захочется мерить температуру, но в МК не останется таймеров для работы с датчиком по интерфейсу Wire1. Мне любезно подсказали, в чем был мой косяк, и все заработало. http://radiokot.ru/forum/viewtopic.php?f=61&t=98826. Снова Ассемблер и снова куча подробностей в комментариях. 3. Захочется работать с графикой. Наткнулся на дисплей с графически/текстовым режимом. Но статей о нем... Одна! И то без кода. Вот описание и код с примером в железе. http://radiokot.ru/forum/viewtopic.php?f=61&t=99043. Здесь все безумно сильно прокомментирована и несколько версий. Советы для таких как я: 1. Купить готовый программатор (UsbAsp 140 рублей!)/ 2. Не полагаться на протеус. Иногда врет как не знаю кто. 3. Как только доберетесь до дисплея или чего еще сложного, купите Jtag Mkii (Я смог найти за 400 руб) + Atmega16 (150 руб). Но вообще, если есть возможность, перейти на STM8/32. Сейчас я этим и пытаюсь заняться. Т.к. кроме Atmega8 AVR не может похвастаться ничем, что стоит дешевле 150 руб. А у STM за эти деньги можно купить камень на CortexM4! Сейчас учу ассемблер и определяюсь со средой программирования. Только ассемблер! Даже под Cortex!
_________________ Все можно сделать, было бы желание!
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Вадиматоричик писал(а):
Сложно сразу сказать... С виду похоже на выдачу сообщений на LCD полученных через USART. Признаться честно - это лишь предположения. Не знаю точно. С LCD только учусь работать. А USART-а боюсь как огня... Спасибо, кстати, за идею выводить команды и данные используя массив.
Ну что могу сказать... Вы молодец, раз всетаки поставили цель и добились результата. Тема эта интересная, так что дерзайте. Хорошо натренировавшись на AVRках, их интерфейсах и подтянувшись в схемотехнике, можно будет начинать изучать STM32.
А по поводу кода - да. Это вывод сообщений через UART на специальный LCD дисплей. И по поводу ассемблера. Не упустите важную вещь при его изучении - это понимание работы процессорных систем в целом. Достаточно освоить хотя-бы одну архитектуру на низком уровне, чтобы все остальные стали более-менее понятны. Удачи Вам!
_________________ I am DX168B and this is my favourite forum on internet!
Достаточно освоить хотя-бы одну архитектуру на низком уровне, чтобы все остальные стали более-менее понятны.
Не ради спора, но вспомнил своё впечатление об STM32, когда впервые столкнулся.. Вот знал я архитектуру AVR, хуже знал архитектуру PIC (за ненадобностью), но в мире STM32 я ни хрена не понимал.. Куда бросаться, чем пользоваться, что читать.. Одна система тактирования вызывала боль в жопе
Вот что мне сразу понравилось - это человеческая отладка. Но до main() я добирался долго..
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
hybroid Ну, мне двух дней хватило, чтобы освоить STM32 и помигать светодиодом. Один день я разбирал минимальную обвязку для запуска камня и создания проекта в IAR EWARM (без SPL и прочих библиотек). Второй день я потратил на то, чтобы разобраться в том, что в STM32F1xx и STM32F4xx по разному устроены узлы GPIO и немного отличается группа регистров RCC. (Это не считая ядра, конечно) Я начинал с STM32F407 (он тогда только вышел), в то время, как все примеры в сети были под STM32F103 и прочие. Я клоню к тому, что зная хотя бы одну архитектуру, освоить любую другую будет проще. Ведь самые базовые принципы работы одинаковы для всех архитектур.
_________________ I am DX168B and this is my favourite forum on internet!
///... 10. Были многократные попытки выучить ассемблер. Но безуспешно. После Pascal - это ужасно сложно! Так как он является ЯЗЫКОМ ВЫСОКОГО УРОВНЯ и то, что в Pascal-е делается...///
Спасибо добрый человек за Ассемблер. Но - Ниже Ассемблера - только плинтус и машинные коды. Асм - как алфавит для текста. Текстов миллионы, а букв - КОТ наплакал.
Развлекался программированием на Асме во времена ДОСа и 8086 процессора. Когда сам наработаешь себе программных модулей на все случаи жизни (вывод на экран, динамик, в порт, в область памяти и тд.), потом составлять из них программы как из кубиков - одно наслаждение. Ну а язык ВЫСОКОГО УРОВНЯ - это по сути - предоставленный тебе комплект чужих КУБИКОВ.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения