| Proteus, KiCAD и другие ECAD Разработчик так или иначе сталкивается с системами автоматизированного проектирования. Данный раздел - по САПР. |
Подскажите микросхему памяти
21.02.2011, 22:24
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Подскажите микросхему памяти
Сообщение от XoDoK11
|
|
void interrupt IntFun(void) - что-такое должно быть.
|
Вот инклюд смотрю с именем адреса...
Твою налево! Обожаю PICи с их одним вектором на все прерывания! Совсем вылетело...
Это же в PIC2х по человечески сделали.
Последний раз редактировалось omercury; 21.02.2011 в 22:31.
|
|
|
|
21.02.2011, 22:24
|
|
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: Подскажите микросхему памяти
Сообщение от XoDoK11
|
А конфиг какой? Проект надо выкладывать.
void interrupt IntFun(void) - что-такое должно быть.
|
Да, совершенно верно, вот так надо:
|
PHP код:
|
void main(void)
{
init();
PORTD = 5;
while(1)
{
}
}
void init(void)
{
TRISA=0;
TRISD=0;
TRISB=0xFF;
INTEDG0 = 1;
INT0IE = 1;
GIE = 1;
PEIE = 1;
ADCON1=0x0F;
}
void interrupt my_isr(void)
{
if(INT0IF)
{
PORTD=8;
INT0IE=0;
}
}
|
Вот так работает  Теперь только всё до кучи слепить
|
|
|
|
21.02.2011, 22:50
|
|
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: Подскажите микросхему памяти
Сообщение от omercury
|
|
Если да, то в обработчике принимайте 1й бит, отключайте прерывание и переходите в процедуру, которая будет принимать всё остальное.
|
Объявил переменную
|
PHP код:
|
void main(void)
{
volatile static bank2 int map[1024];
init();
}
|
Получается она в обработчике не доступна.
Последний раз редактировалось george carpenter; 21.02.2011 в 22:53.
|
|
|
|
21.02.2011, 22:55
|
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
|
Re: Подскажите микросхему памяти
Сообщение от george carpenter
|
|
Получается она в обработчике не доступна.
|
Читать здесь и здесь, три раза и внимательно.
|
|
|
|
21.02.2011, 22:58
|
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
|
Re: Подскажите микросхему памяти
Сообщение от omercury
|
|
Твою налево! Обожаю PICи с их одним вектором на все прерывания! Совсем вылетело...
|
Ващще у PIC18 два вектора.
|
|
|
|
21.02.2011, 23:01
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Подскажите микросхему памяти
Сообщение от st_1
|
|
Читать здесь и здесь, три раза и внимательно.
|
Абсолютно верная рекомендация.
Сообщение от george carpenter
|
|
Получается она в обработчике не доступна.
|
Ессно недоступна. Объявлена внутри main, а надо глобально.
Сообщение от st_1
|
|
Ващще у PIC18 два вектора.
|
Дык то же надо доки курить, а у меня чуйства к другому производителю  . Хотя и этого изредка пользую...
Последний раз редактировалось omercury; 21.02.2011 в 23:05.
|
|
|
|
21.02.2011, 23:04
|
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
|
Re: Подскажите микросхему памяти
|
|
|
|
21.02.2011, 23:05
|
|
|
Гражданин KAZUS.RUN
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
|
Re: Подскажите микросхему памяти
Сообщение от george carpenter
|
Объявил переменную
void main(void)
{
volatile static bank2 int map[1024];
init();
}
Получается она в обработчике не доступна.
|
Она должна быть глобальной.
volatile static - это обязательно?
|
Цитата:
|
|
и разобраться со SPI
|
Сначала 8 тысяч импульсов посчитать.
Последний раз редактировалось XoDoK11; 21.02.2011 в 23:08.
|
|
|
|
21.02.2011, 23:11
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Подскажите микросхему памяти
Сообщение от george carpenter
|
Объявил переменную
|
Код:
|
void main(void)
{
volatile static bank2 int map[1024];
init();
} |
|
Ага. и опять она двухбайтная...
А Volatile к порту - логично, а к массиву не очень. Он в программе по-любому меняется.
Последний раз редактировалось omercury; 21.02.2011 в 23:13.
|
|
|
|
21.02.2011, 23:14
|
|
|
Прописка
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
|
Re: Подскажите микросхему памяти
Чё то лажа какая-то, при отладки сразу же щимится в прерывание
|
PHP код:
|
void init(void);
volatile static bank2 int map[1024];
void main(void)
{
init();
PORTD = 5;
while(1)
{
}
}
void recieve(void)
{
for(int i=1;i‹=SIZE-1;i++)
{
//DelayMs(250);
if (RB3 == 1)
{
SETBIT(map,i);
}
else
{
CLEARBIT(map,i);
}
}
}
void init(void)
{
TRISA=0;
TRISD=0;
TRISB=0xFF;
INTEDG0 = 1;
INT0IE = 1;
GIE = 1;
PEIE = 1;
ADCON1=0x0F;
}
void interrupt my_isr(void)
{
if(INT0IF)
{
SETBIT(map,1);
INT0IE=0;
recieve();
}
}
|
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:56.
|
|