Форум по микроконтроллерам: Странная реакция PIC18F14K50 - Форум по микроконтроллерам

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Странная реакция PIC18F14K50 Не понимаю принципа

#1 Пользователь офлайн   AndronSPB 

  • Прибывший
  • Группа: Пользователи
  • Сообщений: 1
  • Регистрация: 16 Сентябрь 20
  • ГородСанкт-Петербург

Отправлено 16 Сентябрь 2020 - 22:42

Добрый день. Решил изучить PIC, для чего приобрел на Ali отладочную плату "nano" (ядро PIC18F14K50), учебник Бари Брэй "Применение микроконтроллеров PIC18", прогррамматор PICKit 3 (тоже с Ali). Установил 2 программы MPLAB X IDE v5.10 и MPLAB X IPE v5.10. MPLAB X IPE v5.10 работает , т.е. видит контроллер (ID=1) и загружает откомпилированные программы , что сделаные на MPASM (v 5.54) так и на С18(v 3.47). Решил начать с простейшего, поуправлять 2 светодиодами на плате (RC0 , RC1). Соответственно в проекте на asm ADCON1 = 0x0F , TRISC = 0x00 и далее в PORTC или LATC. Результат удивил : если в PORTC вгоняю 0x01 или 0x02 , то светодиоды загораются, как надо, а если 0x03 (т.е хочу зажечь оба) не горят, причем на симуляторе 0x03 проходят и должны зажигать.!!!
Что бы зажечь 2 светодиода - нужно один раз в PORTC кинуть 0x01 и затем 0x02 - разве так должно быть? Почему я не могу сразу 0x03 выдать? Это первый вопрос. Да, еще уточню действия по проекту : в папку header я в ручную вставил файл p18f14k50.inc , а в папку Linker поместил p18f14k50_g.lkr . Второй вопрос: почему среда не генерит проет сама? в книге описан какой-то мастер, но в этой версии я его не вижу. Вопрос 3: Почему я не могу загрузить прямо из оболочки IDE программу и мне приходится ее загружать через IPE, вроде при нажатии на загрузку откомпилированного файла в IDE все начинает идти, как и в IPE, но процесс не проходит и появляется сообщение Cannot program a production build to a debug header.
Я так понимаю что жалуется на отладочный хидер, но при создании проекта мне предлагали установить AC244023 я его и отметил. Что не так? Опять же вопрос с отладкой на плате,т.е. если я компилирую в IDE для отладки и пытаюсь начать внутрисхемно отлаживать , то все идет как и в IPE но затем появляется Target Device ID (0x4760) is an Invalid Device ID. Please check your connections to the Target Device.Замечу , что IPE дает ID =1 . Что бы это могло быть.
В с18 все еще хуже , т.е могу зажигать только по 1 из 2х светодиодов , а 2 сразу вообще не получается. Вот сижу обалдевший и кляну америкосов и китайцев вместе с ними. Помогите разобраться.

Прикрепленные файлы

  • Прикрепленный файл  nano2.ASM (7,94К)
    Количество загрузок:: 18

0

#2 Пользователь офлайн   nick14 

  • Группа: Администраторы
  • Сообщений: 1 481
  • Регистрация: 15 Февраль 11
  • ГородРыбинск

Отправлено 17 Сентябрь 2020 - 18:30

Очень давно уже не писал на ассемблере..
Почему работая с байтовыми командами вы пишите MOVWF PORTC, 0 , а не просто MOVWF PORTC . Потом почему при включении 1 светодиода вы работаете регистром LATC, а с другими PORTC ?
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей