Перейти к содержанию
    

vanner

Участник
  • Постов

    48
  • Зарегистрирован

  • Посещение

Весь контент vanner


  1. Во первых разберись что такое макрос - это совсем не подпрограмма. Использовать метки в макросах нельзя. Если уж сильно нужен макрос и переходы в нем, то можешь использовать конструкции типа goto $+n.
  2. макрос

    По поводу inc разберитесь со структурой проекта, асм тоже можно инклюдить, но это ИМХО не совсем корректно. Именно в inc файлах принято объявлять константы, описывать глобальные переменные и внешние(extern) функции. Принцип такой же как и *.h и *.c файлы. MPLAB уже 8.01 давно.
  3. макрос

    Объяви константы в файле (например, const.inc) и подключай его во всех файлах проекта.
  4. Компилятор С for PIC

    MPLAB - полнее не бывает :). Сейчас с ней поставляется lite версия комплятора Hi-Tech. Правда что в нем поддерживается не знаю. Все си-компиляторы к нему прикручиваются отдельно. Для PIC18 и PIC24 можно использовать студенческие версии компиляторов Microchip С18 и С30 соответственно. От полной отличаются отключением оптимизации по истечению триала.
  5. Конечно можно, правда это немного усложнит алгоритм вывода не ЖКИ.
  6. У тебя в исходнике: #define Ligth GP2 #include p12f629.inc GP2 скорее всего не определена. Попробуй сделать: #include p12f629.inc #define Ligth GP2 Чаще делают даже так: #define Light GPIO, GP2 В коде тогда используешь bsf Light и т.п. Дальше, опрос кнопок нужно делать с антидребезгом. Можно опрашивать, по прерыванию или просто в основном цикле.
  7. Это для 12f675, сотри ее. И не сбивай с бестолку, где у тебя ошибка, пик 12f629 в исходниках, 16f629 в теме?
  8. с даташита: bcf STATUS,RP0 ;Bank 0 clrf GPIO ;Init GPIO movlw 07h ;Set GP<2:0> to movwf CMCON ;digital IO bsf STATUS,RP0 ;Bank 1 clrf ANSEL ;Digital I/O movlw 0Ch ;Set GP<3:2> as inputs movwf TRISIO ;and set GP<5:4,1:0> аs outputs К тому на этот чип есть даташит на русском языке. Чтобы GP3 использовать как вход, нужно в конфигурации задать его использование как цифрового входа, а не как резета.
  9. HT-PICC

    Есть еще бесплатный компилятор SDCC http://sdcc.sourceforge.net/ , pic16 и pic18 поддерживает. Сам пользоваться не пробовал.
  10. PIC12F629 и PICC 9.50

    Читайте даташит, он на этот чип даже на русском есть. TRISIO управляет направлением цифровых входов. По умолчанию эти ноги настроены как аналоговые входы компаратора. Для использования порта в режиме цифровых входов/выходов нужно сначала их настроить, смотри регистры CMCON и ANSEL.
  11. PIC12F629 и PICC 9.50

    А что вы хотели увидить в результате? Если дерганье ноги GP0, то его реально не будет. Потому что по умолчанию ноги стоят как аналоговые входы. И не стоит сильно доворять протеусу и др. симуляторам.
  12. Покажи полный код своей программы, тогда можно будет что-то сказать.
  13. I2C анализатор

    Пробовал сделать более простой анализатор, отлов стартов, стопов, аков, неаков, и самих байт + вывод в ком порт. На меге16 на 16 мегагерц сходу не удалось. Т.к. на 400 кГц иис нужно отловить уровень sda максимум за 20 команд, на си не получилось уложиться, попробую скоро написать на асме. может для 400 и получиться.
  14. Это понятно, разработчики компиляторов тоже люди, и тоже допускают ошибки. Но как это связано с самим ассемблером? Я уже молчу тогда что вытворяют иногда компиляторы си, особенно с высоким уровнем оптимизации кода.
  15. 2 arttab: Первый раз слышу, чтобы компилятор мешал при компиляции ассемблерного кода. Может примерчик. :) А вообще, использование асма будет всегда, даже программируя на Си необходимо его знать. Иногда компиляторы си выдают интересный код :), и лучше его просматривать. К тому же, когда есть ограничения по объему ни один компилятор си не будет оптимальнее кода написаного человеком. :)
  16. Конечно, по стандарту оформление не утверждено, но это облегчит тебе жизнь. Лучше приучиться это делать сразу и одинаково во всех своих программах. Есть хорошие книжки на эту тему (там и не только об этом). Например: "ВЕРЕВКА ДОСТАТОЧНОЙ ДЛИНЫ, ЧТОБЫ… ВЫСТРЕЛИТЬ СЕБЕ В НОГУ Правила программирования на Си и Си++" Ален И. Голуб.
  17. По поводу порта А. Там бывает не только АЦП, но и аналоговый компаратор, при включении все ножки сконфигурированы как аналоговый вход. По поводу Си. Изучать его лучше с начала, то есть с базового курса, без которого все равно не попишешь для МК. Починай Кернигана, там все очень хорошо объяснено. И практиковаться лучше программируя в под ДОС, или консоль винды или линукса, меньше будет проблемм, и есть отладчики. Посмотри сайт www.microchipc.com, много исходников на Си именно для микрочипа.
  18. Привет всем. Меня интересует возможность соединения устройства с мобильным по IrDA. В документации на MIDP2.0 написано, что открыть порт можно командой Connector.open("comm:com0;baudrate=9600"). Пишут, что так можно открыть и ИК-порт, указав имя "ir#". Попробовал получить список доступных портов ( System.getProperty("microedition.commports")), в списке только "com0". (Телефон Siemens M65). Это означает, что я не могу получить доступа к ИК-порту? Через ком передача работает, правда искажает последний байт. В документации поставляемой с эмулятором сименса написано, что в телефонах с ИК-портом доступ к нему открывается командой Connector.open("irda://"). Написал мидлет (часть кода): byte[] buf={'H','e','l','l','o'}; DatagramConnection dc = (DatagramConnection) Connector.open("irda://"); Datagram dg = dc.newDatagram(buf,5,""); dc.send(dg); dc.close(); Он компилируется, работает в телефоне, но не делает ни каких попыток послать что-нибудь по ИК. Я плохо знаю яву, может ошибся где в коде? Помогите найти ошибку или киньте рабочий код.
  19. Опять Proteus

    У меня Proteus 6.7 SP3 Lite. Захотел добавить к нему библиотеку для 18 пиков. Нашел файл pic18.dll (вроде с полной версии протеуса 6.7), скопировал в папку к моделям, при моделировании протеус ругается на эту dll "Bad product key". Собственно вопрос, кто-нибудь знает, что можно сделать? Предполагаю есть отличия в полной и лайт версиях протеуса, возможно dll гдето прописаны (поиск в реестре и файлах результата не дал). Кто-нибудь сталкивался?
  20. Тонкости в конфигурировании порта. По умолчанию все ноги настроены как аналоговые входы. Смотри настройки компаратора и АЦП.
  21. Много проектов на PIC: http://www.piclist.com/ http://www.microchipc.com/
  22. Кто нибудь использует в MPLAB системы контроля версий? Если да, то какие? Их плюсы/минусы в использовании.
×
×
  • Создать...