Позвольте и мне сказать своё МЯУ . Есть такая прога, называется "WinAVR" она поддерживает разные языки, в том числе и "Visual Basic", так-что если вы с ним знакомы, то как говорится welcome.
(Сам-то я пишу на Си)
baiun писал(а):Есть такая прога, называется "WinAVR" она поддерживает разные языки, в том числе и "Visual Basic"
А разве это ни СИ компилятор???
Вы вот сюда зайдите хотя бы http://winavr.sourceforge.net/
И там ясно черным по белому написано " It includes the GNU GCC compiler for C and C++ "
в последнюю версию WinAVR включена поддержка кроме С и С++ еще и Ada. А вот про Visual Basic не слыхал...
Вообще говоря, WinAVR - это название проекта сборки компилятора GCC для микроконтроллеров AVR.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Да, и правда , перепутал WinAVR и Programmers Notepad (они у меня в одном пакете) . Простите дурака.
И всё-таки должен-же быть компилятор для программирования на Basic, вопрос то именно в этом.
baiun писал(а):И всё-таки должен-же быть компилятор для программирования на Basic, вопрос то именно в этом.
поищите же наконец, как было рекомендовано, Bascom AVR - я могу что-то путать, т.к. бейсик не использую, но то, что он неоднократно на этом форуме обсуждался - факт.
Спешу загладить свою вину , нашёл в сети два компилятора -
"BASCOM-AVR" и "ABC BACIC COMPILER" правда они не бесплатные, но есть DEMO версии. Желаю удачи.
Тема вычищена.
ARV, Ватсон, ИРБИС, Brutaller, tych - бан на сутки, в первую очередь из-за того, что продолжали высказываться не по теме, прекрасно это сознавая. Кто не ушел в МЯУ! - я не виноват.
Цитата из книги Белова "Создаем устройства на микроконтроллерах"
..............Для подключения кнопки S1 использована классическая схема. В исходном состоянии контакты кнопки разомкнуты. Через резистор R1 на вход PD.0 микроконтроллера подается «плюс» напряжения питания, что соответствует сигналу ЛОГИЧЕСКОЙ ЕДИНИЦЫ.
При замыкании кнопки напряжение падает до нуля, что соответствует ЛОГИЧЕСКОМУ НУЛЮ..............
..........Подключение светодиода также выполнено по классической схеме. Это непосредственное подключение к выходу порта.......
.....Для того, чтобы ЗАЖЕЧЬ светодиод, микроконтроллер должен подать на вывод РВ.О сигнал ЛОГИЧЕСКОГО НУЛЯ. В этом случае напряжение, приложенное к цепочке R2, VD1, ОКАЖЕТСЯ РАВНЫМ НАПРЯЖЕНИЮ ПИТАНИЯ, что вызовет ток через светодиод, и он загорится. ..............
Как это понимать??? То логический НОЛЬ это напряжение на выводе равное нулю, то наоборот.... Проясните пожалуйста ситуацию.
Светодиод подключается анодом через резистор на плюс питания, а катодом на пин МК. при логическом нуле на пине МК на светодиоде с резистором будет напряжение питания, светодиод горит.
Почитайте http://www.radiokot.ru/articles/15/ и станет ясно, почему чтобы засветить светодиод, на выход надо подать логический ноль. Напряжение питания будет не на выходе, а на цепочке из резистра и светодиода. А на выходе относительно общего провода будет ноль.
tych писал(а):Сдвиг на один бит в сторону старшего бита это умножение на 2, а в другую сторону - деление на 2.
tych, где же ваша точность?
не всякий сдвиг есть простое умножение или деление на 2!
даже в AVR-ах есть сдвиги с учетом флага переноса, и тогда сдвиг байта вправо может оказаться совсем не адекватен делению на 2!!! ну, и влево тоже не совсем умножение на 2 получится...
а вообще (не у AVR) существует еще и циклический сдвиг влево-вправо...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Пока разбираюсь с СИ, много чего понаписано, но я нигде не выдел описания функции void, что это и как применяется.
И что значит "|"
Вот к примеру кусочек кода
void main(void)
{
DDRC |= _BV(PC5); // Установить линию 5 порта D в "1" т.е. на вывод
while(1) { // Бесконечный цикл
PORTC &= ~_BV(PC5); // Сбросить бит PD5 в "0" = 0V, светодиод включен
delay_ms(500); // Ждем 0.5 сек.
PORTC |= _BV(PC5); // Установить бит PD5 в "1" = 5V, светодиод выключен
delay_ms(500); // Ждем 0.5 сек.
}
}
megasvintus писал(а):разбираюсь с СИ, много чего понаписано, но я нигде не выдел описания функции void, что это и как применяется.
В "Кратком курсе по AVR для начинающих" на 5-й странице "Си для МК" КОНЕЧНО ЖЕ написано что это такое и как применяется ! Там написано ВСЁ что нужно новичку.
Зайдите на мою домашнюю страничку (кнопка www ниже) и добавьте к адресу в браузере: /05a.htm
void - пустота, пусто. По-простецки: означает что в функцию не передается параметров и-или что функция не возвращает значения.