Например TDA7294

Форум РадиоКот • Просмотр темы - MPLAB X для начинающих
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 13:10:54

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 18 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: MPLAB X для начинающих
СообщениеДобавлено: Вт ноя 28, 2017 05:33:44 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Вс дек 18, 2011 14:41:24
Сообщений: 273
Откуда: Ангарск
Рейтинг сообщения: 0
Всем привет. Сейчас будет исповедь совсем начинающего. Котам с неустойчивой психикой не читать. За возможные психологические и иные травмы, связанные с прочтением нижеследующего, я ответственности не несу. Значит, решил я начать изучать PIC (в очередной, стопятьсотый раз, но это не так важно). Поскольку я убунтовод, то всем привычный IDE мне не подойдет, придется ставить MPLAB X. Значит, ставлю Х, ставлю С компилляторы, долго гуглю, как поставить 32 битную джаву на 64 битную систему, не нахожу, спрашиваю на форуме ubuntu, ставлю джаву. Беру PIC12F683, беру ICD 3 (на работе все это добро есть, и можно пользоваться). Пока разобрался, почему контроллер не шьется (в режиме дебаггинга данный PIC не будет шиться в принципе). Пока с конфигурацией разбирался (по идее, записывается в xc.h, но на деле это не так). Как написать конфигурационную строку, и что конкретно каждый пункт значит, в найденных гуглом ресурсах в явном виде никак не указывается. Далее всем известное моргание светодиодиком. Порт на вывод, выставить единичку, задержка пустым циклом, выставить нолик, снова задержка. В моем случае требуется сформировать управляющий импульс длительностью 1..10 мкс с частотой повторения 10 Герц, поэтому я сначала без всяких задержек ногой дрыгал. Проверял осциллографом. Длительность импульса - 1 мкс. Как удачно. Пауза такая же. Думаю, дело за малым, вставить пустой цикл, как "все делают", но тут немного не так. Досчитал, скажем, до сотни. Скважность увеличилась примерно до трех. Досчитал до тыщи, скважность не изменилась. Еще увеличил, ничего. Убрал цикл, снова меандр. Досчитал в пустом цикле до одного - скважность три. Сделал два пустых цикла - скважность еще в два раза увеличилась. Добавил пустой цикл в цикл. Эффекта никакого. Добавил много-много пустых циклов. Память контроллера закончилась раньше, чем я дошел до нужной скважности. Решил произвести что нибудь более бесполезное, скажем, домножить и разделить переменную на саму себя. Причем от увеличения числа арифметических действий время их исполнения возрастает вовсе не линейно, а все медленней. Увеличение значения переменной тоже приводит к неочевидным результатам - до 10 происходит замедление арифметических операций, а далее - ускорение. И да, в цикл вычисления загонять тоже нет смысла, только флудить эти бесполезные строки до бесконе... простите, до заполнения памяти контроллера. Пришлось вместо целочисленной переменной взять переменную с плавающей точкой, она прям так сильно притормозила контроллер. Да и то, эта вся череда была записана в функцию, которая вызывалась дважды (нужно было два микросекундных импульса в противофазе). Вроде есть функция delay(), но с ней почему-то не скомпиллировалось. (MPLAB не ругался на эту команду, зато ругался на скобку после __CONFIG, хоть это и не помешало компилляции). Говорят, таким образом MPLAB X оптимизирует код, минимизируя пустые циклы в том числе. Как теперь будет выглядеть моргание светодиодом у начинающих? Пишешь пустой цикл, светодиод светит в пол накала, и никак особо себя не проявляет. С английским у меня совсем все плохо, чтоб достаточно хорошо осознавать оригинальные источники, а наши, получается, уже устарели... Кто что думает или подскажет, как обуздать эту новую махину?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Вт ноя 28, 2017 07:37:37 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Столько многабукав и ни куска кода, ни названия компилятора ...
Да и MPLAB тут совсем не при чём, он всего-лишь - IDE.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Вт ноя 28, 2017 07:52:50 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Вс дек 18, 2011 14:41:24
Сообщений: 273
Откуда: Ангарск
Рейтинг сообщения: 0
Столько многабукав и ни куска кода, ни названия компилятора ...


Компиллятор xc8-1.44

Код (сперва дрыгается и гасится одна нога, вызывается функция "zad()", потом то же самое со второй ногой).
Спойлер
Код:
void main(void) {
 TRISIO5=0;
 TRISIO4=0;
 while(1){
  GP5=1;
  GP5=0;
  zad();
  GP4=1;
  GP4=0;
  zad(); }
 
}


Сама функция "zad()", индусы просто ликуют.
Спойлер
Код:
float i;
void zad(void){
    i=10;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;
    i=i*i/i;}

Нет, если это сделать в цикле, компиллятор оптимизирует, и ничего не получится.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Вт ноя 28, 2017 07:58:52 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ещё бы у Вас память не заканчивалась... :facepalm:
В XC есть встроенные функции задержек. __delay_us(x) и __delay_ms(x)


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Вт ноя 28, 2017 08:23:06 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Вс дек 18, 2011 14:41:24
Сообщений: 273
Откуда: Ангарск
Рейтинг сообщения: 0
В XC есть встроенные функции задержек. __delay_us(x) и __delay_ms(x)

Не работают
Спойлерnewmain.c:45: error: (192) undefined identifier "_XTAL_FREQ"
(908) exit status = 1

Наверное, надо таймер настроить, знать бы как.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Вт ноя 28, 2017 10:40:02 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Не работают

так попробовать:
viewtopic.php?p=1980125#p1980125


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Вт ноя 28, 2017 11:31:11 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Linuxoid91 писал(а):
Наверное, надо таймер настроить, знать бы как.

Наверное, надо просто читать документацию от производителя. Да и компилятор сам подсказывает, чего не хватает. Ну и логика мышления тоже же должны быть - откуда компилятору знать о частоте ядра, чтобы вычислить требуемую от него задержку ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Вт ноя 28, 2017 15:10:21 
Собутыльник Кота
Аватар пользователя

Карма: 55
Рейтинг сообщений: 415
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 2902
Откуда: Севастополь
Рейтинг сообщения: 0
"Новая махина" MPLAB X затачивалась для новых, многоногих и "Си-ориентированных" PIC-ов, памяти в которых хоть и меньше, чем в популярных STM-ах, но все ж достаточно для того, чтоб не задумываться о ее экономии.
Если же она (память) у вас закончилась уже на стадии мигания светодиодом, то вы
1. хреново знаете Си
2. вообще не знаете ассемблер

И тут, пожалуй, лучше определиться с приоритетами : либо переходить на более распространенные STM8, для которого много чего написано, либо, если хотите освоить сравнительно старые ПИКи (а 683 именно таким и является), то качать старый, НЕжабоупоротый MPLAB (напр., 8.92) и дрыгать ножками/мигать светиками на ассемблере.
На жабе, конечно же, тоже можно, но он сцуко, тормозной, едва ворочается.

Вот ЭТО зажигает светодиод на 1мкс с интервалом в 10мкс при частоте МК, равной 4MHz:
Код:
TEST
   bsf   GPIO,0      ;LED on
   bcf   GPIO,0      ;LED off
   nop
   nop
   nop         
   nop
   nop
   nop
   nop
   goto   TEST


Каждые две строчки с nop-ами можно заменить на одну такую :
Код:
   goto   $+1


Это же самое, но с частотой мигания в 10Гц выглядит примерно так, только надо подобрать начальные значения для счетчиков COUNT и COUNT1 :
Код:
TEST
   bsf   GPIO,0
   call   DELAY
   bcf   GPIO,0
   call   DELAY
   goto   TEST
;----------
DELAY            ;это аналог индусского zad-а
   clrf   COUNT
   clrf   COUNT1
DELAY_LOOP
   decfsz   COUNT1,f
   goto   DELAY_LOOP
   decfsz   COUNT,f
   goto   DELAY_LOOP
   return


А вот на кой здесь плавающие точки и прочая ариХметика - этого я не осознал.

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Чт ноя 30, 2017 07:57:19 
Первый раз сказал Мяу!

Карма: 13
Рейтинг сообщений: 17
Зарегистрирован: Чт июн 15, 2017 10:40:31
Сообщений: 32
Откуда: Екатеринбург
Рейтинг сообщения: 0
И чем это MPLAB X мешает программировать на ассемблере? Он там есть "из коробки". А то, что MPLAB X на Java написан, никак не влияет на размер генерируемого кода.

_________________
Мир вокруг нас разумен настолько, насколько разумны мы сами. Профессионал не обязательно говорит умные слова, но зная самые глубины, способен объяснить их любому "на пальцах".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Чт ноя 30, 2017 10:50:01 
Собутыльник Кота
Аватар пользователя

Карма: 55
Рейтинг сообщений: 415
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 2902
Откуда: Севастополь
Рейтинг сообщения: 0
Я, вроде, написал - ничем. Размер кода тоже, конечно же, ни при чем.
Просто по сравнению со "старыми" версиями при прочих равных эта жирная тварь едва ворочается.

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Чт мар 08, 2018 12:02:42 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1190
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Здравия!
Подскажите пож-ста, не могу найти, можно ли в редакторе исходника (в частности asm) удалить строку под курсором не выделяя её, горячие кнопки есть для этого?
mplab x ide 4.15

И ещё коментарии на русском в проекте нормально, а в файлах (.lst, .asm) в виде вопросительных знаков, в свойствах проекта выбрал UTF8 (у меня такая системная), не помогает.

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Чт мар 08, 2018 17:15:01 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
есть удалить строку там где курсор Ctrl+X или Shift+DELETE
смотреть/редактировать вроде добавить можно
Tools->Options->Keymap

lst asm, если исходник в utf8, русские комментарии скорее всего не получится


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Чт мар 08, 2018 17:58:24 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1190
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
Спасибо. А в какой получится? CP1251 которая виндовская?

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Чт мар 08, 2018 18:59:31 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
в старом мплабе (не Х) с русскими комментариями в листинге вроде было нормально, там не помню наверное - 866 кодировка.
имхо комментарии лучше на англ. - проблем при переносе меньше


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Пт мар 09, 2018 19:50:52 
Сверлит текстолит когтями
Аватар пользователя

Карма: -3
Рейтинг сообщений: 73
Зарегистрирован: Сб янв 19, 2008 23:57:27
Сообщений: 1190
Откуда: Нью-Сибирск
Рейтинг сообщения: 0
С приличными программами, к коим эта не относится, видимо, проблем не больше :-) А можно у неё сделать крупнее шрифт в меню и окнах? В настройках не нашёл. Шрифты есть, но без масштабирования.

_________________
gentoo kicad 7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Пт мар 09, 2018 20:35:43 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
MplabX сделан на основе Netbeans (IDE неплохая). У меня в MplabX установлен плагин Darcula для Netbeans (все в черных тонах по современному):
http://*самореклама*.netbeans.org/plugin/6242 ... r-netbeans
Там шрифт меняется:
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Вс мар 11, 2018 06:49:40 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21787
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Черный фон - это канешна модно, но читать мелкий кегль на черном фоне, особенное если он не белый или светлый - очень тяжело. А тонкие светлые цветные линии на черном фоне плохо различимы по цвету. Но это на мой подслеповатый взгляд, естественно.

Добавлено after 5 minutes 52 seconds:
А можно у неё сделать крупнее шрифт в меню и окнах?

Alt+колесо мыши. Или в Tools-Options-Fonts&Colors настраиваете все что угодно Вашей душе и делаете столько профилей, сколько не лень Вашему трезвому сознанию.
ЗЫ. Критиковать стоит лишь тогда, когда в полной мере овладеешь критикуемым инструментом, а если ждать от всего интуитивной понятности, то можно сильно оплошать. Вкусы у людей сильно разные и арбузы со свиными хрящиками редко пересекаются... :wink:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: MPLAB X для начинающих
СообщениеДобавлено: Вс мар 11, 2018 08:15:37 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Черный фон - это канешна модно, но читать мелкий кегль...

на вкус и цвет... В Darcula хорошо все подобрано (вижу четко пиксели без размытия) и мои подслеповатые глазенки гораздо меньше устают чем от белого фона
Изображение


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 18 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y