Страница 587 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 21, 2017 10:59:45
uldemir
для XC8 он (mplab) в визарде вставляет xc.h и всё. Тип процессора указывется в параметрах проекта, дальше он сам. Может, в XC16 так же?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт дек 22, 2017 17:20:40
Linuxoid91
Плиз, помогите понять, какие конфигурационные биты за что отвечают? Первый пункт вроде понятен. Выбор задающего генератора. HS - вроде как кварцевый, но это мне понятно лишь от того, что подцепил эту инфу откуда-то, где описывалась конфигурация на ассемблере (подробное описание конфигурирования на C почему-то отсутствует где либо, где я пытался смотреть.) Еще, знаю, зачем сторожевой пес. Что остальное - представляю весьма туманно, поэтому оставлю как есть. Потом жму на генерацию кода, и получаю кучу команд вида
. Вставляю это в исходник. Говорят, можно и в отдельный файл, но пока не буду этим заниматься.
Но насколько я понимаю, все можно прописать одной строкой
Ее можно как-то сгенерировать или найти табличку, где все ее параметры описаны?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт дек 22, 2017 17:36:57
arkhnchul
[uquote="Linuxoid91",url="/forum/viewtopic.php?p=3266217#p3266217"]Но насколько я понимаю, все можно прописать одной строкой[/uquote]
но не нужно, прагмы более читабельны
[uquote="Linuxoid91",url="/forum/viewtopic.php?p=3266217#p3266217"]Ее можно как-то сгенерировать или найти табличку, где все ее параметры описаны?[/uquote]
где-то в каталоге с мплабом есть каталог с документацией, там описано, чего можно писать в прагму. Что конкретно это "чего" означает - в даташите

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт дек 22, 2017 18:33:48
Linuxoid91
Пробуем дальше. К слову, пока компиллирую без микроконтроллера (на работе остался), чтоб понять, что вообще можно накодить. Оказывается, старые добрые TRISA1 и LATA1 больше не работают

Теперь, согласно
этому тутору нужно писать PORTAbits.RA1. Вроде скомпиллировалось, но не работает __delay_ms()

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт дек 22, 2017 21:38:05
uldemir
#define _XTAL_FREQ 4000000 - написали?
или приведите сообщение об ошибке.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб дек 23, 2017 07:33:45
Linuxoid91
Да, я написал частоту. Выходит с ошибкой
Код: Выделить всё
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: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб дек 23, 2017 09:48:59
uldemir
Вы достойный наследник партизан! Самое ценное, наверное, то что время сборки всего 1 секунда. Мне приходится ждать целых 14:
Код: Выделить всё
BUILD FAILED (exit value 2, total time: 14s)
Но, может, приведёте еще пару строчек до этого "более полно"? Хотя нафик. Ищите сами - мне надоело. Может у вас линкер не может какую функцию найти, может место на диске кончилось, а может просто компилятор не запускается.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб дек 23, 2017 17:18:52
Linuxoid91
[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)
И еще немного инфы, не заметил сперва, что там еще есть вначале что-то значащее.
Код: Выделить всё
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: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб дек 23, 2017 19:11:50
uldemir
На запрос гуглу "microchip xc16 delay_ms" первая же ссылка
http://www.microchip.com/forums/m711211.aspx
Проверил, работает.
А эти хидеры находятся в каталоге support
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс дек 24, 2017 03:47:33
Linuxoid91
Благодарю. Таки, заработало) Просто я крайне редко изучаю англоязычные ресурсы, пытаясь найти информацию на русском языке. Крайне плохо изучал английский в школе.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср дек 27, 2017 20:55:51
Wereww
Всех приветствую! Подскажите по мелкому вопросу, как использовать светодиод в качестве фотодиода? Есть Tiny13 и оранжевый светодиод, меряем АЦП (?) и затем либо моргаем этим диодом либо нет.
Интересуют тонкости вопроса:
Можно использовать встроенный ИОН? (Питание не стабилизированное, от Li-Ion АКБ)
Для считывания показаний применять АЦП? (Нужно ли ставить делитель)
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср дек 27, 2017 22:19:16
АСУ
[uquote="Wereww",url="/forum/viewtopic.php?p=3270348#p3270348"]Есть Tiny13 и оранжевый светодиод, меряем АЦП (?)[/uquote]
А чем же ещё?! АЦП конечно.
и затем либо моргаем этим диодом либо нет.
Не понял… моргаем им для каких целей?
Можно использовать встроенный ИОН?
Можно и нужно!
Для считывания показаний применять АЦП? (Нужно ли ставить делитель)
Опыты с мультиметром подскажут!
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 28, 2017 09:06:57
oleg110592
[uquote="Wereww",url="/forum/viewtopic.php?p=3270348#p3270348"]как использовать светодиод в качестве фотодиода? Есть Tiny13[/uquote]
тут Чен компаратор tiny11 использовал (на японском - переводчик поможет):
http://elm-chan.org/junk/leddet/report.html
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 28, 2017 21:53:23
Wereww
Пробовал как здесь
https://geektimes.ru/post/254890/ мерять время разряда
Но, вместо резистора на 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:
Всё, разобрался

Стоило только поиграться значениями, добавил delay_us(1) в цикл
И всё же, кто может пояснить работу компаратора с диодом, по вышеприведенной ссылке на "чана" ?

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср янв 10, 2018 19:41:23
Chettuser
del
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт янв 11, 2018 00:58:31
java
Здравствуйте. У меня вопрос по АТМЕГА 16, у неё в схеме с 9 ножки (reset) на +5в стоит резистор на 10ком, можно его заменить на 9,1ком? И какие могут возникнуть последствия?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт янв 11, 2018 06:03:49
pyzhman
Можно. Никаких. Можно прям на питание даже подключить. Но если в вашей схеме используется ISP (программирование в системе), то резистор нужен.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт янв 12, 2018 00:15:23
java
[uquote="pyzhman",url="/forum/viewtopic.php?p=3280043#p3280043"]Можно. Никаких. .[/uquote]
Спасибо, а то у меня СМД резисторы из набора остались только до 9,1 ком
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн янв 22, 2018 19:46:49
questioner
Под готовую прошивку для 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пФ"
Получается тот кварц, что я купил не катит?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн янв 22, 2018 21:18:11
uk8amk
По всей видимости речь идёт про LSE генератор, работающий с часовым кварцем 32768Гц.