Добрый день, all!
Т.к. об ассемблере я имею достаточно поверхностное представление, он является для меня "птичьим языком". Соответственно, Algorithm Builder для меня - "птичий язык в картинках". При всей неоспоримой компактности получаемого кода, хочется работать в привычном и удобном низкоуровневом языке. Для меня это - CVAVR (CodeVision AVR).
Я пытаюсь портировать исходники поста за номером 71, но получается, должен признаться, крайне плохо. Я активно списывался с автором данного ресурса, но, по всей видимости, человек он занятой и в выходные отдыхает более насыщено, не возле ЭВМ. Поэтому пришла в голову мысль привлечь к делу комунити с форума.
Почему я делаю этот велосипед? Как я уже сказал, с ассемблером я даже не на "Вы", а никаких готовых примеров под CVAVR, окромя приёмника RC5, нет.
Что уже сделано? В принципе, программа переведена почти 1-в-1 (насколько это вообще возможно при настолько разных языках), она даже пытается работать: при нажатии на кнопку пульта моргает светодиод. При запуске в терминал вылетает "OK!".
Так в чём проблема? Проблема, как минимум, в программном UART'е. НЕкоторые символы безнадёжно косячатся и портят остальную передачу. Например, если вместо "OK!" вывести в терминал "***", то увидим мы только первую *, а вместо остальных придёт мусор. Толи в связи с этим, толи из-за каких-то других недоработок, вместо кода полученной кнопки в терминал всегда вываливается одно и то же число (зависит от того, на каком символе "вспоткнулся" программный UART).
Возможно, я не правильно инициализирую/сбрасываю перефирию контроллёра, быть может опускаю какую-то важную деталь, но...
Если есть здесь понимающие в C++ в целом и CVAVR в частности, давайте допинаем это дело вместе. Пригодится всему миру... )
Добрый день, all!
Т.к. об ассемблере я имею достаточно поверхностное представление, он является для меня "птичьим языком". Соответственно, Algorithm Builder для меня - "птичий язык в картинках". При всей неоспоримой компактности получаемого кода, хочется работать в привычном и удобном низкоуровневом языке. Для меня это - CVAVR (CodeVision AVR).
Я пытаюсь портировать исходники поста за номером 71, но получается, должен признаться, крайне плохо. Я активно списывался с автором данного ресурса, но, по всей видимости, человек он занятой и в выходные отдыхает более насыщено, не возле ЭВМ. Поэтому пришла в голову мысль привлечь к делу комунити с форума.
Почему я делаю этот велосипед? Как я уже сказал, с ассемблером я даже не на "Вы", а никаких готовых примеров под CVAVR, окромя приёмника RC5, нет.
Что уже сделано? В принципе, программа переведена почти 1-в-1 (насколько это вообще возможно при настолько разных языках), она даже пытается работать: при нажатии на кнопку пульта моргает светодиод. При запуске в терминал вылетает "OK!".
Так в чём проблема? Проблема, как минимум, в программном UART'е. НЕкоторые символы безнадёжно косячатся и портят остальную передачу. Например, если вместо "OK!" вывести в терминал "***", то увидим мы только первую *, а вместо остальных придёт мусор. Толи в связи с этим, толи из-за каких-то других недоработок, вместо кода полученной кнопки в терминал всегда вываливается одно и то же число (зависит от того, на каком символе "вспоткнулся" программный UART).
Возможно, я не правильно инициализирую/сбрасываю перефирию контроллёра, быть может опускаю какую-то важную деталь, но...
Если есть здесь понимающие в C++ в целом и CVAVR в частности, давайте допинаем это дело вместе. Пригодится всему миру... )
|