Мелкие вопросы по МК и ПЛИС.
Re: Мелкие вопросы по МК и ПЛИС.
для XC8 он (mplab) в визарде вставляет xc.h и всё. Тип процессора указывется в параметрах проекта, дальше он сам. Может, в XC16 так же?
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
- Linuxoid91
- Грызет канифоль
- Сообщения: 295
- Зарегистрирован: Вс дек 18, 2011 14:41:24
- Откуда: Ангарск
Re: Мелкие вопросы по МК и ПЛИС.
Плиз, помогите понять, какие конфигурационные биты за что отвечают? Первый пункт вроде понятен. Выбор задающего генератора. HS - вроде как кварцевый, но это мне понятно лишь от того, что подцепил эту инфу откуда-то, где описывалась конфигурация на ассемблере (подробное описание конфигурирования на C почему-то отсутствует где либо, где я пытался смотреть.) Еще, знаю, зачем сторожевой пес. Что остальное - представляю весьма туманно, поэтому оставлю как есть. Потом жму на генерацию кода, и получаю кучу команд вида
Код: Выделить всё
#pragma config POSCMOD = HSНо насколько я понимаю, все можно прописать одной строкой
Код: Выделить всё
__CONFIG(/*тут все, что нам надо*/)Ее можно как-то сгенерировать или найти табличку, где все ее параметры описаны?
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="Linuxoid91",url="/forum/viewtopic.php?p=3266217#p3266217"]Но насколько я понимаю, все можно прописать одной строкой[/uquote]
но не нужно, прагмы более читабельны
[uquote="Linuxoid91",url="/forum/viewtopic.php?p=3266217#p3266217"]Ее можно как-то сгенерировать или найти табличку, где все ее параметры описаны?[/uquote]
где-то в каталоге с мплабом есть каталог с документацией, там описано, чего можно писать в прагму. Что конкретно это "чего" означает - в даташите
но не нужно, прагмы более читабельны
[uquote="Linuxoid91",url="/forum/viewtopic.php?p=3266217#p3266217"]Ее можно как-то сгенерировать или найти табличку, где все ее параметры описаны?[/uquote]
где-то в каталоге с мплабом есть каталог с документацией, там описано, чего можно писать в прагму. Что конкретно это "чего" означает - в даташите

- Linuxoid91
- Грызет канифоль
- Сообщения: 295
- Зарегистрирован: Вс дек 18, 2011 14:41:24
- Откуда: Ангарск
Re: Мелкие вопросы по МК и ПЛИС.
Пробуем дальше. К слову, пока компиллирую без микроконтроллера (на работе остался), чтоб понять, что вообще можно накодить. Оказывается, старые добрые TRISA1 и LATA1 больше не работают
Теперь, согласно этому тутору нужно писать PORTAbits.RA1. Вроде скомпиллировалось, но не работает __delay_ms() 
Re: Мелкие вопросы по МК и ПЛИС.
#define _XTAL_FREQ 4000000 - написали?
или приведите сообщение об ошибке.
или приведите сообщение об ошибке.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
- Linuxoid91
- Грызет канифоль
- Сообщения: 295
- Зарегистрирован: Вс дек 18, 2011 14:41:24
- Откуда: Ангарск
Re: Мелкие вопросы по МК и ПЛИС.
Да, я написал частоту. Выходит с ошибкой
Более полно
make[2]: выход из каталога «/media/files/Dropbox/PIC/Chiken_Tmr.X»
nbproject/Makefile-default.mk:90: ошибка выполнения рецепта для цели «.build-conf»
make[1]: выход из каталога «/media/files/Dropbox/PIC/Chiken_Tmr.X»
nbproject/Makefile-impl.mk:39: ошибка выполнения рецепта для цели «.build-impl»
BUILD FAILED (exit value 2, total time: 1s)
Код: Выделить всё
BUILD FAILED (exit value 2, total time: 1s)Более полно
Спойлер
nbproject/Makefile-default.mk:135: ошибка выполнения рецепта для цели «dist/default/production/Chiken_Tmr.X.production.hex»make[2]: выход из каталога «/media/files/Dropbox/PIC/Chiken_Tmr.X»
nbproject/Makefile-default.mk:90: ошибка выполнения рецепта для цели «.build-conf»
make[1]: выход из каталога «/media/files/Dropbox/PIC/Chiken_Tmr.X»
nbproject/Makefile-impl.mk:39: ошибка выполнения рецепта для цели «.build-impl»
BUILD FAILED (exit value 2, total time: 1s)
Re: Мелкие вопросы по МК и ПЛИС.
Вы достойный наследник партизан! Самое ценное, наверное, то что время сборки всего 1 секунда. Мне приходится ждать целых 14:
Но, может, приведёте еще пару строчек до этого "более полно"? Хотя нафик. Ищите сами - мне надоело. Может у вас линкер не может какую функцию найти, может место на диске кончилось, а может просто компилятор не запускается.
Код: Выделить всё
BUILD FAILED (exit value 2, total time: 14s)Но, может, приведёте еще пару строчек до этого "более полно"? Хотя нафик. Ищите сами - мне надоело. Может у вас линкер не может какую функцию найти, может место на диске кончилось, а может просто компилятор не запускается.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
- Linuxoid91
- Грызет канифоль
- Сообщения: 295
- Зарегистрирован: Вс дек 18, 2011 14:41:24
- Откуда: Ангарск
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="uldemir",url="/forum/viewtopic.php?p=3266692#p3266692"]Но, может, приведёте еще пару строчек до этого "более полно"?[/uquote]
Под спойлером все есть.
Дублирую без спойлера
nbproject/Makefile-default.mk:135: ошибка выполнения рецепта для цели «dist/default/production/Chiken_Tmr.X.production.hex»
make[2]: выход из каталога «/media/files/Dropbox/PIC/Chiken_Tmr.X»
nbproject/Makefile-default.mk:90: ошибка выполнения рецепта для цели «.build-conf»
make[1]: выход из каталога «/media/files/Dropbox/PIC/Chiken_Tmr.X»
nbproject/Makefile-impl.mk:39: ошибка выполнения рецепта для цели «.build-impl»
BUILD FAILED (exit value 2, total time: 1s)
И еще немного инфы, не заметил сперва, что там еще есть вначале что-то значащее.
Похоже, он не знает, что такое __dely_mc(), может, какой нибудь еще инклюд следует подключить помимо xc.h. Вот только какой?
Кстати, в папке компиллятора в папке "include" нет файла xc.h, но компилляор на него не ругается.
Добавлено after 2 hours 20 minutes 7 seconds:
Кстати, список всех инклюдов, которые есть в папке с компиллятором.
В папке Lega-c есть еще инклюды
Под спойлером все есть.
Дублирую без спойлера
nbproject/Makefile-default.mk:135: ошибка выполнения рецепта для цели «dist/default/production/Chiken_Tmr.X.production.hex»
make[2]: выход из каталога «/media/files/Dropbox/PIC/Chiken_Tmr.X»
nbproject/Makefile-default.mk:90: ошибка выполнения рецепта для цели «.build-conf»
make[1]: выход из каталога «/media/files/Dropbox/PIC/Chiken_Tmr.X»
nbproject/Makefile-impl.mk:39: ошибка выполнения рецепта для цели «.build-impl»
BUILD FAILED (exit value 2, total time: 1s)
И еще немного инфы, не заметил сперва, что там еще есть вначале что-то значащее.
Код: Выделить всё
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: вход в каталог «/media/files/Dropbox/PIC/Chiken_Tmr.X»
make -f nbproject/Makefile-default.mk dist/default/production/Chiken_Tmr.X.production.hex
make[2]: вход в каталог «/media/files/Dropbox/PIC/Chiken_Tmr.X»
"/opt/microchip/xc16/v1.33/bin/xc16-gcc" Code.c -o build/default/production/Code.o -c -mcpu=24FJ64GA004 -MMD -MF "build/default/production/Code.o.d" -g -omf=elf -DXPRJ_default=default -legacy-libc -O0 -msmart-io=1 -Wall -msfr-warn=off
Code.c:34:6: warning: return type of 'main' is not 'int'
Code.c: In function 'main':
Code.c:38:5: warning: implicit declaration of function '__delay_ms'
"/opt/microchip/xc16/v1.33/bin/xc16-gcc" -o dist/default/production/Chiken_Tmr.X.production.elf build/default/production/Code.o -mcpu=24FJ64GA004 -omf=elf -DXPRJ_default=default -legacy-libc -Wl,,,--defsym=__MPLAB_BUILD=1,,--script=p24FJ64GA004.gld,--stack=16,--check-sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill-upper=0,--stackguard=16,--no-force-link,--smart-io,-Map="dist/default/production/Chiken_Tmr.X.production.map",--report-mem,--memorysummary,dist/default/production/memoryfile.xml
build/default/production/Code.o(.text+0xa): In function `_main':
: undefined reference to `___delay_ms'
make[2]: *** [dist/default/production/Chiken_Tmr.X.production.hex] Ошибка 255
make[1]: *** [.build-conf] Ошибка 2
make: *** [.build-impl] Ошибка 2
xc16-ld 1.33 (A)
Program Memory [Origin = 0x200, Length = 0xa9fc]
section address length (PC units) length (bytes) (dec)
------- ------- ---------- ----------
.text 0x200 0xce 0x135 (309)
.text 0x2ce 0x10 0x18 (24)
Total program memory used (bytes): 0x14d (333) <1%
Ivt Memory [Origin = 0x4, Length = 0xfc]
section address length (PC units) length (bytes) (dec)
------- ------- ---------- ----------
Data Memory [Origin = 0x800, Length = 0x2000]
section address alignment gaps total length (dec)
------- ------- ---------- ----------
Total data memory used (bytes): 0 (0)
Dynamic Memory Usage
region address maximum length (dec)
------ ------- ----------
heap 0 0 (0)
stack 0x800 0x2000 (8192)
Maximum dynamic memory (bytes): 0x2000 (8192)Похоже, он не знает, что такое __dely_mc(), может, какой нибудь еще инклюд следует подключить помимо xc.h. Вот только какой?
Кстати, в папке компиллятора в папке "include" нет файла xc.h, но компилляор на него не ругается.
Добавлено after 2 hours 20 minutes 7 seconds:
Кстати, список всех инклюдов, которые есть в папке с компиллятором.
Код: Выделить всё
/opt/microchip/xc16/v1.33/include$ ls
assert.h float.h math.h stdarg.h stdfix.h stdlib.h unixio.h
ctype.h lega-c setjmp.h stdbool.h stdint.h string.h
errno.h limits.h signal.h stddef.h stdio.h time.h
В папке Lega-c есть еще инклюды
Код: Выделить всё
/opt/microchip/xc16/v1.33/include/lega-c$ ls
assert.h float.h setjmp.h stdbool.h stdio.h time.h
ctype.h limits.h signal.h stddef.h stdlib.h yvals.h
errno.h math.h stdarg.h stdint.h string.h
Re: Мелкие вопросы по МК и ПЛИС.
На запрос гуглу "microchip xc16 delay_ms" первая же ссылка http://www.microchip.com/forums/m711211.aspx
Проверил, работает.
А эти хидеры находятся в каталоге support
Проверил, работает.
А эти хидеры находятся в каталоге support
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
- Linuxoid91
- Грызет канифоль
- Сообщения: 295
- Зарегистрирован: Вс дек 18, 2011 14:41:24
- Откуда: Ангарск
Re: Мелкие вопросы по МК и ПЛИС.
Благодарю. Таки, заработало) Просто я крайне редко изучаю англоязычные ресурсы, пытаясь найти информацию на русском языке. Крайне плохо изучал английский в школе.
Re: Мелкие вопросы по МК и ПЛИС.
Всех приветствую! Подскажите по мелкому вопросу, как использовать светодиод в качестве фотодиода? Есть Tiny13 и оранжевый светодиод, меряем АЦП (?) и затем либо моргаем этим диодом либо нет.
Интересуют тонкости вопроса:
Можно использовать встроенный ИОН? (Питание не стабилизированное, от Li-Ion АКБ)
Для считывания показаний применять АЦП? (Нужно ли ставить делитель)
Интересуют тонкости вопроса:
Можно использовать встроенный ИОН? (Питание не стабилизированное, от Li-Ion АКБ)
Для считывания показаний применять АЦП? (Нужно ли ставить делитель)
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="Wereww",url="/forum/viewtopic.php?p=3270348#p3270348"]Есть Tiny13 и оранжевый светодиод, меряем АЦП (?)[/uquote]
А чем же ещё?! АЦП конечно.
Не понял… моргаем им для каких целей?
Можно и нужно!
Опыты с мультиметром подскажут!
А чем же ещё?! АЦП конечно.
и затем либо моргаем этим диодом либо нет.
Не понял… моргаем им для каких целей?
Можно использовать встроенный ИОН?
Можно и нужно!
Для считывания показаний применять АЦП? (Нужно ли ставить делитель)
Опыты с мультиметром подскажут!
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="Wereww",url="/forum/viewtopic.php?p=3270348#p3270348"]как использовать светодиод в качестве фотодиода? Есть Tiny13[/uquote]
тут Чен компаратор tiny11 использовал (на японском - переводчик поможет):
http://elm-chan.org/junk/leddet/report.html
тут Чен компаратор tiny11 использовал (на японском - переводчик поможет):
http://elm-chan.org/junk/leddet/report.html
Re: Мелкие вопросы по МК и ПЛИС.
Пробовал как здесь https://geektimes.ru/post/254890/ мерять время разряда
Но, вместо резистора на 100 ом светодиод на экранированном проводке длиной 40 см (оплётка+, жила-), код преобразовал под кодвижн3 к такому виду:
PB4 - катод, PB3 - анод, при значении j=3 светодиод начинает вспыхивать сам по себе, без разницы в темноте или близко к лампе, при больших значениях не мигает, так же не зависимо от освещения, если прикоснуться пальцем к катоду - естественно начинает мигать, про компаратор перевёл, почитал, но так и не понял
UPD:
Всё, разобрался
Стоило только поиграться значениями, добавил delay_us(1) в цикл 
И всё же, кто может пояснить работу компаратора с диодом, по вышеприведенной ссылке на "чана" ?
Но, вместо резистора на 100 ом светодиод на экранированном проводке длиной 40 см (оплётка+, жила-), код преобразовал под кодвижн3 к такому виду:
Код: Выделить всё
void blinkLED()
{
DDRB=(1<<DDB4) | (1<<DDB3);
PORTB=(0<<PORTB4) | (1<<PORTB3);
delay_ms(200);
DDRB=(0<<DDB4) | (0<<DDB3);
PORTB=(0<<PORTB4) | (0<<PORTB3);
delay_ms(100);
}
//----------
while (1)
{
// Place your code here
DDRB=(1<<DDB4) | (1<<DDB3);
PORTB=(1<<PORTB4) | (0<<PORTB3);
delay_ms(50);
DDRB=(0<<DDB4) | (1<<DDB3);
PORTB=(0<<PORTB4) | (0<<PORTB3);
for ( j = 0; j < 128000; j++) {
if (PINB.4 == 0) break;
}
if(j>4)
{
blinkLED();
}
delay_ms(300);
}
}
PB4 - катод, PB3 - анод, при значении j=3 светодиод начинает вспыхивать сам по себе, без разницы в темноте или близко к лампе, при больших значениях не мигает, так же не зависимо от освещения, если прикоснуться пальцем к катоду - естественно начинает мигать, про компаратор перевёл, почитал, но так и не понял
UPD:
Всё, разобрался
И всё же, кто может пояснить работу компаратора с диодом, по вышеприведенной ссылке на "чана" ?
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
del
Последний раз редактировалось Chettuser Чт янв 11, 2018 11:10:43, всего редактировалось 1 раз.
- java
- Держит паяльник хвостом
- Сообщения: 962
- Зарегистрирован: Вт янв 04, 2011 13:26:17
- Откуда: Лен.Обл.
Re: Мелкие вопросы по МК и ПЛИС.
Здравствуйте. У меня вопрос по АТМЕГА 16, у неё в схеме с 9 ножки (reset) на +5в стоит резистор на 10ком, можно его заменить на 9,1ком? И какие могут возникнуть последствия?
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Можно. Никаких. Можно прям на питание даже подключить. Но если в вашей схеме используется ISP (программирование в системе), то резистор нужен.
Docendo discimus
- java
- Держит паяльник хвостом
- Сообщения: 962
- Зарегистрирован: Вт янв 04, 2011 13:26:17
- Откуда: Лен.Обл.
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="pyzhman",url="/forum/viewtopic.php?p=3280043#p3280043"]Можно. Никаких. .[/uquote]
Спасибо, а то у меня СМД резисторы из набора остались только до 9,1 ком
Спасибо, а то у меня СМД резисторы из набора остались только до 9,1 ком
Пишу с ошибками и опечатками.На это у меня есть разрешение и справка
-
questioner
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Вс июн 26, 2016 16:42:48
Re: Мелкие вопросы по МК и ПЛИС.
Под готовую прошивку для STM23F405 делаю плату. Прошивка под кварц - 11.0592 МГц. Подбираю кондеры к кварцу. В даташите на STM-ку формула из которой
получается, что для моего кварца с CL=32пФ (взято из описания кварца) если предварительно грубо принять паразитную емкость дорожек платы 2пФ СL1 = CL 2= (32-2) / 2 = 15пФ
Но! В даташите стмки есть такой абзац:
"Caution: To avoid exceeding the maximum value of C L1 and C L2 (15 pF) it is strongly recommended
to use a resonator with a load capacitance C L ≤ 7 pF. Never use a resonator with a load
capacitance of 12.5 pF."
Если я его правильно понял, там говориться "никогда не используйте резонаторы с нагрузочной емкостью от 12,5 пФ, чтобы избежать максимального значения CL1 и CL2 - 15пФ"
Получается тот кварц, что я купил не катит?
получается, что для моего кварца с CL=32пФ (взято из описания кварца) если предварительно грубо принять паразитную емкость дорожек платы 2пФ СL1 = CL 2= (32-2) / 2 = 15пФ
Но! В даташите стмки есть такой абзац:
"Caution: To avoid exceeding the maximum value of C L1 and C L2 (15 pF) it is strongly recommended
to use a resonator with a load capacitance C L ≤ 7 pF. Never use a resonator with a load
capacitance of 12.5 pF."
Если я его правильно понял, там говориться "никогда не используйте резонаторы с нагрузочной емкостью от 12,5 пФ, чтобы избежать максимального значения CL1 и CL2 - 15пФ"
Получается тот кварц, что я купил не катит?
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Мелкие вопросы по МК и ПЛИС.
По всей видимости речь идёт про LSE генератор, работающий с часовым кварцем 32768Гц.