Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 28.03.2020, 18:12   #151
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от Марк Посмотреть сообщение
Не о чем поговорить? Причем тут запрет прерываний? Где можно и нужно, там запрещают, а где нельзя, там используют иные методы.
Никак не связанные проблемы.
полемика началась от недопонимания про прерывания раз в 100мкс на несколько десятков наносекунд
SergP01 на форуме   Ответить с цитированием
Старый 28.03.2020, 18:38   #152
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

кстати в моём варианте я немного накосячил
надо частоту в 10 раз поднять... и по 10 раз считывать.... чего больше будет - нулей или единиц - то и принимать за истину при приёме одного бита.... типа, чтобы дребезга скоростей избежать.... т.е.(грубо) в обработку
2400 нужно не с частотой 2400 гц вваливаться а с 24000 гц.... десять раз значение одного бита считывать.... и потом его определять ....

ну , и соответственно начала отсчёта сечь... чтобы подстроиться под внешний передатчик

на ASM у меня рука не набита, а на С предложенный вариант пишется со скоростью 90%, зависящей от скорости работы пальцев
SergP01 на форуме   Ответить с цитированием
Старый 28.03.2020, 19:17   #153
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,094
Вес репутации: 4015/117
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от SergP01 Посмотреть сообщение
кстати в моём варианте я немного накосячил.... чего больше будет - нулей или единиц - то и принимать за истину
Вообще то в аппаратных УАРТах цифровой фильтр приемника обычно имеет 4 бита и работает по критерию все нули=0/все единицы=1/иные комбинации игнорируются(не защелкиваются). А не по принципу "кого больше, тот и прав"...
Марк вне форума   Ответить с цитированием
Старый 28.03.2020, 19:40   #154
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от Марк Посмотреть сообщение
Вообще то в аппаратных УАРТах цифровой фильтр приемника обычно имеет 4 бита и работает по критерию все нули=0/все единицы=1/иные комбинации игнорируются(не защелкиваются). А не по принципу "кого больше, тот и прав"...
я проутрировал
SergP01 на форуме   Ответить с цитированием
Старый 28.03.2020, 19:46   #155
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,094
Вес репутации: 4015/117
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Промоутрировал?
Марк вне форума   Ответить с цитированием
Старый 29.03.2020, 19:44   #156
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,317
Вес репутации: 4401/96
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

SergP01
ежели разработчик использует "критические" функции, которые запрещают прерывания на несколько микросекунд- такому "разработчику" не только руки... ноги оторвать надо - Вы считали сколько выполняется операция erase для flash? это миллисекунды.

на это время flash блокируется.

9/10 разработчиков используют flash для хранения данных и мирятся с печальным фактом того, что у них в коде есть куски, где миллисекунды прерывания не работают.

Марк
Ежу понятно, что целесообразность применения АСМа определяется обстоятельствами выбора платформы, знакомства разработчика с АСМом этой платформы в достаточной степени, а так же рисками миграции на иные платформы. - часть вещей сложно писать на С. проще на Asm. по моему опыту это глубоко аппаратно зависимые вещи, которые на С будут также плохо переносимы.
besogon на форуме   Ответить с цитированием
Старый 29.03.2020, 20:30   #157
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от besogon Посмотреть сообщение
SergP01
ежели разработчик использует "критические" функции, которые запрещают прерывания на несколько микросекунд- такому "разработчику" не только руки... ноги оторвать надо - Вы считали сколько выполняется операция erase для flash? это миллисекунды.

на это время flash блокируется.

9/10 разработчиков используют flash для хранения данных и мирятся с печальным фактом того, что у них в коде есть куски, где миллисекунды прерывания не работают.

Марк
Ежу понятно, что целесообразность применения АСМа определяется обстоятельствами выбора платформы, знакомства разработчика с АСМом этой платформы в достаточной степени, а так же рисками миграции на иные платформы. - часть вещей сложно писать на С. проще на Asm. по моему опыту это глубоко аппаратно зависимые вещи, которые на С будут также плохо переносимы.

только не говорите мне, что 9/10 .... долбят флеш память ежесекундно
когда я говорил про критические- я имел ввиду, что нужно постоянно выполнять код, например вывода из порта с очень высокой точностью по времени...

не знаю какие вещи писать сложно на С... неоптимально- это другое... но- ни как -не сложно...

вся логика- переносится даже не думая
а вот то, что на железо завязано- править надо... но опять же править типа #define PORTA 0x4000 на #define PORTA 0x4200
и всё.... просто поменяли адрес порта остальную прогу трогать не надо..
где было SETBIT(PORTA,1); ..... там и осталось

тот же микрочиповский TCPIP стек... там только mac.c c регистрами контроллера МАС работает.... остальное всё- уже к железу не привязано
(ну...ещё.. конечно начальные настройки камня)

это не переписывать весь код... типа вместо mov a,0x40 mov W0,#40
SergP01 на форуме   Ответить с цитированием
Старый 30.03.2020, 02:03   #158
alex_zas
Senior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 54
Сообщений: 115
Вес репутации: 185/14
alex_zas has a spectacular aura aboutalex_zas has a spectacular aura about
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
по сути ежели к проекту подключите
test.h
Как это сделать?
В папке проекта я создал файл "test.h" с содержимым
Код:
void test();

test.c

void test()
{
int i=0;
while(i++<extern size)extern mass[i]=extern mass[i]<<1;
}
Указал в ассемблерном исходнике .include "test.h".
В тексте программы вставил call test.
MPLAB пытается транслировать test.h как текст на ассемблере, соответственно с кучей ошибок.
Прошу прощения - я в этом профан, вероятно все делаю не правильно.
alex_zas вне форума   Ответить с цитированием
Старый 30.03.2020, 06:48   #159
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от alex_zas Посмотреть сообщение
Как это сделать?
В папке проекта я создал файл "test.h" с содержимым
Код:
void test();

test.c

void test()
{
int i=0;
while(i++<extern size)extern mass[i]=extern mass[i]<<1;
}
Указал в ассемблерном исходнике .include "test.h".
В тексте программы вставил call test.
MPLAB пытается транслировать test.h как текст на ассемблере, соответственно с кучей ошибок.
Прошу прощения - я в этом профан, вероятно все делаю не правильно.
ну.... для начала хотелось бы посмотреть пару ошибок...
а потом- в компиляторе наверное где то указать надо, прописать пути, на использование С компилятора.
SergP01 на форуме   Ответить с цитированием
Старый 30.03.2020, 07:05   #160
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

см. личку... пришлите проект... мне самому интересно.... я таким мазахизмом ещё не занимался
SergP01 на форуме   Ответить с цитированием
Старый 30.03.2020, 12:12   #161
alex_zas
Senior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 54
Сообщений: 115
Вес репутации: 185/14
alex_zas has a spectacular aura aboutalex_zas has a spectacular aura about
По умолчанию Re: Непонятка с прерываниями в PIC24...

Отправил в личку.
alex_zas вне форума   Ответить с цитированием
Старый 30.03.2020, 19:46   #162
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

вроде собралось... в одном месте не уверен... мне нужно, чтобы в _step попало значение size...

никаких .h

один файл .с
Код:
extern int step;

extern int mass[];

int i;

void module(void)
{
i=0;

while(i++<step) mass[i]= mass[i]<<1;
}
файл asm
Код:
.INCLUDE	"P24FJ128GA204.inc"
;-------------------321098765432109876543210	
CONFIG __CONFIG1, 0b111111110011111111111111	
CONFIG __CONFIG2, 0b111111110011101111111110
CONFIG __CONFIG3, 0b111111111111111111111111
CONFIG __CONFIG4, 0b111111111111001111111111


size	= 40				; количество байт в массиве



.section buf1, near, bss
.align 2
_mass:	.space size*2			; сдвигаемые байты
test:	.space 2
_step:  .space 2  
		; контрольное значение
.global _mass

.global _step

.GLOBAL __reset
.GLOBAL __OscillatorFail
.GLOBAL __AddressError
.GLOBAL __StackError
.GLOBAL __MathError
.GLOBAL __T2Interrupt

.TEXT

__reset:
	mov	#__SP_init,W15		; настройка стека
	mov	#__SPLIM_init,W0
	mov	W0,SPLIM

	bclr	ANSA,#1			; настройка порта
	bclr	ODCA,#1
	bset	LATA,#1
	bclr	TRISA,#1

	bset	T2CON,#4		; Fosc/8
	clr	TMR2
	mov	#(16000000/8/250),W0	; прерывания T2 f=250Hz
	mov	W0,PR2
	bset	IEC0,#T2IE		; разрешение прерываний T2
	bset	T2CON,#TON		; запуск T2

	mov	#0x5555,W0		; инициализация контрольного значения
	mov	WREG,test

loop:	mov	#_mass,W1		; в W1 адрес начала массива
;	repeat	#(size-1)
;	rlc	[W1],[W1++]
    mov W0,size
    mov _step,W0
	call	_module


 
	cp	test		        ; проверка контрольного значения
	bra	Z,loop

	bclr	LATA,#1			; индикация ошибки


 
err:	bra	err

__T2Interrupt:
	push.s
	push	RCOUNT
	bclr	IFS0,#T2IF		; сброс флага прерывания T2
	pop	RCOUNT
	pop.s
	retfie

__OscillatorFail:
__AddressError:
__StackError:
__MathError:
	nop
	nop
	nop
	retfie


	.end
может кому пригодится..... проблема в именах(соглашения компилятора).... префикс "_"
типа в асм переменные обзываются _mа
и глобальные
в Си они будут extern ma .... без префикса

в Си все функции по умолчанию глобальные mFunc();

вызов в asm call _mFunc

скомпилилось... проверить не могу
SergP01 на форуме   Ответить с цитированием
Старый 30.03.2020, 19:56   #163
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

топикастеру -Кю
в мануале на компилятор целая глава о совместном использовании C и ASM....
я не поленился... прочитал

там пример вообще перекрученый.... из асм вызывается функция С, которая выполняет функцию из листинга асм (на асме)... а асм использует в коде переменную объявленную в С
SergP01 на форуме   Ответить с цитированием
Старый 30.03.2020, 20:29   #164
alex_zas
Senior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 54
Сообщений: 115
Вес репутации: 185/14
alex_zas has a spectacular aura aboutalex_zas has a spectacular aura about
По умолчанию Re: Непонятка с прерываниями в PIC24...

Код:
extern int step;
extern int mass[];
int i;
void module(void)
{
i=0;
while(i++<step) mass[i]= mass[i]<<1;
}
Этот фрагмент кода мой транслятор пытается транслировать как ассемблер.
Как ему сказать что это С?
alex_zas вне форума   Ответить с цитированием
Старый 30.03.2020, 20:32   #165
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от alex_zas Посмотреть сообщение
Код:
extern int step;
extern int mass[];
int i;
void module(void)
{
i=0;
while(i++<step) mass[i]= mass[i]<<1;
}
Этот фрагмент кода мой транслятор пытается транслировать как ассемблер.
Как ему сказать что это С?
скачать компилятор С
запустить визард проекта....
указать, что используем компилятор С.... если нет такого в списке, то путь к нему указать....
в последнем окне.... указать, что применить для этого проекта...
SergP01 на форуме   Ответить с цитированием
Старый 30.03.2020, 20:37   #166
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

я под это дело всё скачал... создал проект.... ничего не делал(всё по умолчанию)
он gcc использует
Цитата:
Executing: "D:\Microchip\xc16\v1.11\bin\xc16-gcc.exe" -omf=coff -mcpu=24FJ128GA204 -c -I"D:\Microchip\xc16\v1.11\inc" -D__DEBUG "aa.s" -o"aa.o" -Wa,-I"D:\Microchip\xc16\v1.11\src\libm",--defsym=__DEBUG=1,-g
Executing: "D:\Microchip\xc16\v1.11\bin\xc16-gcc.exe" -omf=coff -mcpu=24FJ128GA204 -x c -c "mm.c" -o"mm.o" -I"D:\Microchip\xc16\v1.11\inc" -D__DEBUG -g -Wall
Executing: "D:\Microchip\xc16\v1.11\bin\xc16-gcc.exe" -omf=coff -mcpu=24FJ128GA204 "aa.o" "mm.o" -o"test2.cof" -Wl,-L"D:\Microchip\xc16\v1.11\lib",-Tp24FJ128GA204.gld,--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,-Map="test2.map",--report-mem
и для асм
ткнул в проект 2 файла.... и с ними забавлялся
SergP01 на форуме   Ответить с цитированием
Старый 30.03.2020, 20:44   #167
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

качайте XC16.... там всё есть
хотя я.... не качал.... просто из архива с микрочипа взял 8-ку и установил.... ну.. а дальше по умолчанию....
вроде, при установке поставил галочку на с16....

вру... качал я до 8-ки xc16 хакнутый.... для X лабы.... а 8-ку под вас скачал... может она его автоматом подцепила...

Последний раз редактировалось SergP01; 30.03.2020 в 20:55.
SergP01 на форуме   Ответить с цитированием
Старый 30.03.2020, 21:39   #168
alex_zas
Senior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 54
Сообщений: 115
Вес репутации: 185/14
alex_zas has a spectacular aura aboutalex_zas has a spectacular aura about
По умолчанию Re: Непонятка с прерываниями в PIC24...

Эксперименты АСМ+С я делаю в MPLAB X IDE v5.30 с установленным MPLAB XC16 C Compiler v1.31.
Вот окно настроек проекта
Где и какие настройки изменить чтобы правильно транслировался код на С?
Миниатюры
XC16.jpg  

Последний раз редактировалось alex_zas; 30.03.2020 в 21:57.
alex_zas вне форума   Ответить с цитированием
Старый 30.03.2020, 22:53   #169
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от alex_zas Посмотреть сообщение
Эксперименты АСМ+С я делаю в MPLAB X IDE v5.30 с установленным MPLAB XC16 C Compiler v1.31.
Вот окно настроек проекта
Где и какие настройки изменить чтобы правильно транслировался код на С?
у меня 5-ки нет....
попробуйте на 8-ке..... создать проект.... и добавить в него 2 файла

могу 5-ку скачать.... всё равно делать нечего....

Последний раз редактировалось SergP01; 30.03.2020 в 22:58.
SergP01 на форуме   Ответить с цитированием
Старый 30.03.2020, 23:52   #170
alex_zas
Senior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 54
Сообщений: 115
Вес репутации: 185/14
alex_zas has a spectacular aura aboutalex_zas has a spectacular aura about
По умолчанию Re: Непонятка с прерываниями в PIC24...

В MPLAB IDE 8.92+MPLAB XC16 C Compiler 1.31 то же самое. Транслирует код на С как код на АСМ с кучей ошибок.
Может в начале и конце кода С должна быть директива?
alex_zas вне форума   Ответить с цитированием
Старый 31.03.2020, 06:12   #171
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от alex_zas Посмотреть сообщение
В MPLAB IDE 8.92+MPLAB XC16 C Compiler 1.31 то же самое. Транслирует код на С как код на АСМ с кучей ошибок.
Может в начале и конце кода С должна быть директива?
я вам написал, что я делал....
вот такие шаманские действия:
скачал и установил xc16...
проект со студией X не пошёл...
т.к. я в ней пока нихрена не понимаю (в плане настроек)
скачал 8-ку...
запустил визард проекта...
выбрал проц...
всё...
в пустой проект добавил 2 файла....

вот то что видите выше , то и есть..... я больше ни где, ничего не писал...ни каких директив и ключей компилятора.

ну.... заведите почту... я вам целиком проект пришлю...
SergP01 на форуме   Ответить с цитированием
Старый 31.03.2020, 06:36   #172
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,094
Вес репутации: 4015/117
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от alex_zas Посмотреть сообщение
В MPLAB IDE 8.92+MPLAB XC16 C Compiler 1.31 то же самое. Транслирует код на С как код на АСМ с кучей ошибок.
Может в начале и конце кода С должна быть директива?
Комиксы для упрощения понимания:
Нажмите на изображение для увеличения
Название: Снимок.jpg
Просмотров: 8
Размер:	427.2 Кб
ID:	11568
Извиняюсь за некорректные действия в Си, но немного поспешил... )))

Последний раз редактировалось Марк; 31.03.2020 в 06:43.
Марк вне форума   Ответить с цитированием
Старый 31.03.2020, 06:45   #173
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...



вот так в 8-ке выглядит
SergP01 на форуме   Ответить с цитированием
Старый 31.03.2020, 06:51   #174
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,475
Вес репутации: 725/49
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от Марк Посмотреть сообщение
Комиксы для упрощения понимания:

Извиняюсь за некорректные действия в Си, но немного поспешил... )))
там в соглашении компилятора написано что параметры передаются через W0-W7
SergP01 на форуме   Ответить с цитированием
Старый 31.03.2020, 06:57   #175
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,094
Вес репутации: 4015/117
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Нахрена шаманство в 8-ке, когда есть простейшие и логичные действия в 10-ке?
Исправил Си так, чтобы взаимодействие было корректным.
Во флеше (окно справа) хорошо видно как открывается локальный стек (фрейм) через указатель фрейма W14. В функцию передаются параметры через W0, W1 , а значение функции возвращается в АСМ через W0.
ЗЫ. Обращаю внимание ТС, что вызов функции в АСМе производится с ОДИНАРНЫМ подчеркиванием, а в global объявляется с двойным.
Нажмите на изображение для увеличения
Название: Снимок.jpg
Просмотров: 4
Размер:	256.2 Кб
ID:	11569
Марк вне форума   Ответить с цитированием
Ответ

Метки
pic24, repeat, прерывания


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PIC24 + UART проблема с TX прерываниями k-o-l-y-a Продукция MICROCHIP 8 07.05.2010 19:19
PIC24, непонятка с TMR1 Troydon Продукция MICROCHIP 0 10.11.2009 23:33
PIC24 и CCD-матрица gontharov Продукция MICROCHIP 23 30.10.2008 09:19
CCS для PIC24 Alexey Belodvortsev Продукция MICROCHIP 2 10.02.2008 10:32
PIC24 viael Продукция MICROCHIP 3 02.06.2007 22:44


Часовой пояс GMT +3, время: 00:01.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot