27.11.2017, 11:23
|
|
Частый гость
Регистрация: 14.06.2008
Адрес: маленький провинциальный городок СПб
Сообщений: 14
Сказал спасибо: 19
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: AT91SAM7S64 и работа в Keil uVision4
Сообщение от индюк
|
и изза этого ты будешь изучать никому не нужный проц??? фирмы которой уже и не существует кстати
|
фирма не существует, а контроллеры всё ещё производятся и продаются.
Сообщение от индюк
|
это все равно что у меня было бы 4 унитаза дома - для поноса, для метеоризма, для козьего помета и для блевания... при этом каждый работает в режиме полный и насрано на половину(32 и 16 бит)
|
так все претензии конторе ARM, которая разработала такое ядро. а в целом - "вы просто не умеете срать" (с).
|
|
|
|
27.11.2017, 11:37
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
|
Re: AT91SAM7S64 и работа в Keil uVision4
bufmailru, не надо столь категорично. Ядро ARM7 неплохо себе живет, но таки для других задач и в других процессорах.
rihkov, если уж осталось желание, то поставить IAR и пройти по книге без лишних заморочек и фанатизма. Разница с Keil не столь велика, а полученный опыт в другой среде только в плюс.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
27.11.2017, 13:39
|
|
Гуру портала
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,411
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
|
Re: AT91SAM7S64 и работа в Keil uVision4
bufmailru, да не, я просто в сортах гавна не разбираюсь. Выше написал уже, что время трачу на более продуктивные занятия в жизни.
__________________
кагмаподэ магмаподэ
|
|
|
|
27.11.2017, 16:07
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.01.2007
Сообщений: 3,124
Сказал спасибо: 61
Сказали Спасибо 1,154 раз(а) в 625 сообщении(ях)
|
Re: AT91SAM7S64 и работа в Keil uVision4
rihkov, посмотрите на сайте keil, например здесь и здесь.
|
|
|
|
27.11.2017, 23:58
|
|
Прописка
Регистрация: 15.06.2006
Адрес: РФ г.Тюмень
Сообщений: 205
Сказал спасибо: 3
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
|
Re: AT91SAM7S64 и работа в Keil uVision4
Немного уже разобрался, опрос кнопки реализовал, светодиодом поморгал, данные по uart послал в терминал. Не понимаю можно ли смотреть при отладке регистры мк, код гружу в рам при помощи ULINK2 (китайский) вывожу панель с периферией PIOA показывает какую то хрень но не то что там происходит, и по регистрам тоже все тихо, единственное только точки останова вроде работают и то как понял больше двух враз нельзя ставить, ULINK2 такой или что?
__________________
Николай
|
|
|
|
17.01.2018, 17:42
|
|
Прописка
Регистрация: 15.06.2006
Адрес: РФ г.Тюмень
Сообщений: 205
Сказал спасибо: 3
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
|
Re: AT91SAM7S64 и работа в Keil uVision4
Здравствуйте!
Прошло время, немного разобрался с AT91SAM7S64 управляю по TWI микросхемой PCA9685 шевелю сервомашинками, с USART тоже вроде все работает, но не могу разобраться с прерыванием по приходу данных в USART прерывание устанавливается один первый раз потом сбрасываю и больше не реагирует, что только не пробовал, может кто сталкивался, подскажите? Еще вопрос такой почему у меня в коде в Keil uVision4 не работает инструкция типа A = A + B; что мешает проводить подобные арифметические операции? И еще вопрос по преобразованию типов как преобразовать unsigned int -› char для последующей отправки по USART?
__________________
Николай
|
|
|
|
17.01.2018, 19:07
|
|
Гуру портала
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,411
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
|
Re: AT91SAM7S64 и работа в Keil uVision4
Сообщение от rihkov
|
прерывание устанавливается один первый раз потом сбрасываю и больше не реагирует, что только не пробовал,
|
а ты что сбрасываешь то?
для начала попробуй его постоянно включать. ну разрешение прерывания.
или мониторь состояние регистров которые относятся к прерываниям.
мошт оно отключается либо в переферии либо в ядре
__________________
кагмаподэ магмаподэ
Последний раз редактировалось индюк; 17.01.2018 в 19:19.
|
|
|
|
17.01.2018, 19:36
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,727
Сказал спасибо: 2,418
Сказали Спасибо 894 раз(а) в 581 сообщении(ях)
|
Re: AT91SAM7S64 и работа в Keil uVision4
Сообщение от индюк
|
эта жизнь слишком коротка
|
Справедливо замечено. Понимается это только бывает поздновато.
|
|
|
|
17.01.2018, 20:24
|
|
Прописка
Регистрация: 15.06.2006
Адрес: РФ г.Тюмень
Сообщений: 205
Сказал спасибо: 3
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
|
Re: AT91SAM7S64 и работа в Keil uVision4
Еще вопрос про __irq в некоторых примерах процедура обработчика прерывания этим а в некоторых нет, так понимаю что то указывает компилятору, но что?
Код:
|
void CPUinit()
{
//AIC_IDCR регистр запрещения прерываний
AT91C_BASE_AIC-›AIC_IDCR = 0x1 ‹‹ AT91C_ID_US0;
//AIC_SVR регистр вектора источника прерываний 0-31
AT91C_BASE_AIC-›AIC_SVR[AT91C_ID_US0] = (unsigned long) Usart_c_irq_handler;
//AIC_SMR регистр режима источника прерываний 0-31
AT91C_BASE_AIC-›AIC_SMR[AT91C_ID_US0] = AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL | USART_INTERRUPT_LEVEL;//AT91C_AIC_SRCTYPE_INT_POSITIVE_EDGE//AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL
//AIC_ICCR регистр команды сброса прерываний
AT91C_BASE_AIC-›AIC_ICCR = 0x1 ‹‹ AT91C_ID_US0;
//AT91C_BASE_AIC-›AIC_ICCR = 0;
AT91C_BASE_AIC-›AIC_IECR = 0x1 ‹‹ AT91C_ID_US0;//AIC_IECR регистр команды разрешения прерываний
}
//================================================== ====
void InitUSART0(unsigned long int baudrate)
{
//US_IER регистр разрешения прерываний от USART (разрешение прерываний при приеме символа USART0)
AT91C_BASE_US0-›US_IER = (0x1 ‹‹ 5);//***???***AT91C_US_RXRDY (0x1 ‹‹ 0) / AT91C_US_TXRDY (0x1 ‹‹ 1)
AT91C_BASE_US0-›US_CR = AT91C_US_RXEN | /* Receiver Enable */
AT91C_US_TXEN; /* Transmitter Enable */
//AIC_ICCR регистр команды сброса прерываний
AT91C_BASE_AIC-›AIC_ICCR = 0x1 ‹‹ AT91C_ID_US0;
}
//================================================== ====
//Обработчик прерываний от USART0
void Usart_c_irq_handler(void)
{
unsigned int status;
unsigned int i1 = 0;
//получение регистра состояния USART0 и номера активного прерывания
status = AT91C_BASE_US0-›US_CSR ;//US_CSR регистр состояния канала USART
status &= AT91C_BASE_US0-›US_IMR;//US_IMR регистр маски прерываний от USART
//если это прерывание при приеме символа USART0, то обработать его
/*if(status & AT91C_US_RXRDY)
{
data = read_char_USART0();
}*/
status = 0;
data = 0;
AT91C_BASE_PIOA-›PIO_SODR = LED3;
for(i1 = 0; i1‹2000000; i1++)
{
//***
}
AT91C_BASE_PIOA-›PIO_CODR = LED3;
//=======================================
//Reset the satus bit for error
AT91C_BASE_US0-›US_CR = AT91C_US_RSTSTA;//***???***
//=======================================
AT91C_BASE_AIC-›AIC_EOICR = 0;
} |
__________________
Николай
|
|
|
|
19.01.2018, 14:38
|
|
Прописка
Регистрация: 15.06.2006
Адрес: РФ г.Тюмень
Сообщений: 205
Сказал спасибо: 3
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
|
Re: AT91SAM7S64 и работа в Keil uVision4
Цитата:
|
Еще вопрос такой почему у меня в коде в Keil uVision4 не работает инструкция типа A = A + B; что мешает проводить подобные арифметические операции?
|
Так понимаю проблема в настройках компилятора Keil uVision4 что включить, куда копать? Как производите арифметические вычисления с перегрузкой, или дело в архитектуре ARM?
__________________
Николай
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:27.
|
|