Перейти к содержанию
    

CrazyAlex

Свой
  • Постов

    55
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о CrazyAlex

  • Звание
    Участник
    Участник
  • День рождения 31.01.1980

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

1 250 просмотров профиля
  1. Господа знающие, вопрос все еще актуален. Помогите, плиз, чем можете...
  2. Не хватает соображалки, чтобы правильно сконфигурировать контроллер dma и периферию, чтобы скопировать 512 байт из SSP0 (spi ) в MCI (sd-card) через DMA. Смысл всего этого такой: На SD карту нужно писать лог. Не быстро и небольшими порциями. Для минимизации операций записи стоит FRAM на SPI, т.е. лог пишется во фрам, накопилось 512 байт - переписываем их на карту. Именно внешняя память, а не буфер в памяти, для того чтобы не потерять данные при потере питания. читать/писать в SSP через DMA умею. читать/писать в MCI через DMA умею. а вот как соеденить вместе, не могу сообразить. работать через две операции не хотелось бы... Покажите, плиз, кусок кода на эту тему или ответьте на вопросы: 1. Кого правильнее назначить FlowControl'ом? 2. Нужно ли выставлять биты Enable в MCI_DATA_CTRL и SSP0DMACR и в каком порядке? 3. Как правильнее отследить завершение транзакции (по чьему прерыванию: dma, mci или ssp)?
  3. Спасибо огромное всем кто откликнулся. Напомнили мне пару вещей, которые надо бы использовать в программах. Я в свою очередь с"катализировал" работу мысли у народа. :) А ларчик открывался просто: глючный (полуубитый) преобразователь 232-485 от ADAM. поставил новый такой же и все стало ОК. Еще раз всем спасибо.
  4. Спасибо всем за участие, попробую ответить, может натолкнет на что-то еще. to Dog Pawlowa Проверял терминалкой, в порт уходит нужное число байт. Смотрел, все остается как было, ничего не портится. to Александр Куличок Передача по TXint (по опустошению ВСЕХ регистров, участвующих в передаче) осуществляется столько раз сколько записано в UDR, т.е. после записи последнего байта, прерывание вызовется последний раз, и поскольку больше обращения к UDR не было, то и прерывание больше не возникнет. В readhr1 и sethr1 осуществляется первая запись в UDR которая и вызывает первое прерывание Uart1TXint(). to Laksus Ноги такой работы с уартом растут из моего опыта работы с 51. Хотя изначально в Меге я использовал прерывание по UDRE, мне не понравилось. что надо разрешать/запрещать прерывания и я "ушел" на TXC. Мне лично оно кажется более логичным. Пробовал, не помогает. Мысль интересная,попробую проверить. В общем то, расчет был на то что кто-нибудь сталкивался с подобным. Дело в том что ImageCraft трудно отнести к нормальным компиляторам :-), но за неимением гербовой... А эту структуру они сами настоятельно рекомендуют использовать. В модбасе сначала идет младший байт срс, а потом старший. Не помню как это правильно называется, навскидку вспоминается "экспоненциальное слаживание" и "скользящее среднее". В данном случае получается усреднение по 256 выборкам (почти среднее, математики оспорят, но меня устраивает). Еще раз хочу обратить внимание, что на все запросы чтения ответ идет правильный, и на отдельные запросы записи тоже. Битые ответы, идут на строго фиксированные запросы, т.е. на 511 - все ок, на 512 - битый. и еще на некоторые другие запросы (78, 1101).
  5. Думаю что ждать его будет мега. Если помотреть исходники, то видно, что все это в прерывании. Но все равно спасибо за участие.
  6. проблема с уарт Mega64

    не могу понять в чем дело: устройство: Мега->485->Adam->PC софт: iccAVR6.31a, AVRstudio, jtag ice mk2 (не совсем софт), на PC самописный модбас-мастер (проверен временем), а также терминалка. протокол модбас RTU, чтение регистров (03) идет на ура, запись (06) в регистр значение 511 - все отвечает правильно. запись значения 512 - вместо ответа какая-то хрень, число байт хрени совпадает с числом байт в ответе. причем эта самая хрень каждый раз разная. хотя запрос один и тот же. смотрю в авр студии. пакет приходит, регистр меняется на нужное значение, формируется в буферном массиве frame1 ответ (правильный ответ). Портится на этапе UDR1=frame1[0], UDR1=frame1[outbytecnt]. т.е. в UDR1 или пишется что-то не то, или в нем самом портится..., т.е. PC принимает совсем не то что я записываю в UDR. Если поставить точку останова на UDR1=frame1[0], и потом по шагам, то все отвечает нормально. Исходники прилагаю. Уже мозг сломал. Подскажите кто-нибудь где копать??? m64uart.ZIP
  7. Спасибо за помощь. Натолкнула на мысль фраза о повторных граблях. Уже было такое очень давно, поэтому забыл. В разделе настроек препроцессора нужно было добавить VECTORED_IRQ_INTERRUPTS. Блин!!!
  8. dac.zipПлата olimex H2138, софт Rowley CrossStudio 1.6 build 3, использую wiggler или mt-link. Проект изначально взят с 2214. на нем работал. Проверил настройки, вроде все соответствует 2138. Пытаюсь запустить на 2138 - вылетаю в dabort_handler или в irq_handler или в reset_wait Выглядит это примерно так. Ставлю точку останова в прервании таймера, тогда при отладке по шагам ходит по кругу: -> прерывание //((CTL_ISR_FN_t)VICVectAddr)(); ldr r4, =0xFFFFF030 ldr r3, [r4] mov lr, pc bx r3 -> прерывание Если точку останова убираю, запускаю, приостанавливаю - стоит на dabort_handler Гляньте, кому не сложно, плиз. Подскажите где я не прав. Или приветствуется работающий пример...
  9. Впервые применили данный девайс. С памятью работаю нормально, а часы упорно не поддаются. На одном устройстве часы шли в 3 раза быстрее и в регистрах часов была чушь (например в регистре 02h были числа типа 0x2f). На втором устройстве часы вообще не тикают. На первом осцилографом не смотрел (не было), на втором с частотой все нормально. Может кто сталкивался помогите, плиз. в архиве мои исходники. проц - cygnal 020 I2C.zip
  10. Особо по надежности ничего сказать не могу-выборка мала, но: Результаты: Партия из 10 устройств (F124) работает 1 год без какого либа участия человека. Никаких нареканий нет. Условия работы не слишком приятные: питание так себе, помехи. Правда из периферии используются только оба уарта и все (работает как конвертер протоколов). Впечатления: Очень приятно работать. Единственно на что стоит обратить внимание, это на переключение страниц. Несколько раз наступал на эти грабли, пока не привык.
  11. Имеет смысл посмотреть на кристаллы серии AT89C51RC2/RD2/ED2. Они несколько подороже, но побогаче начинка и программируются через последовательный порт. Нужно только скачать Flip с сайта Atmel и спаять шнур, 3 провода и две перемычки. Работали с ними - достаточно приятно.
  12. AVR Studio и COM3,4

    Странно. Можно поподробнее? Что говорит студия? Как ведут себя другие программы (любая терминалка)? Драйвера стоят? У меня студия работает с JtagICE через усб<->RS232 на ком5. Не вижу принципиальной разницы с вашей ситуацией.
  13. LCD GSM

    Раз уж возникла такая тема, может кто подскажет... Есть желание поработать с телефоном Sony J-Х. Там на борту кристалл на базе ARM7, народ под него пишет программы, но под родной "осью". Хотелось бы написать с нуля, причем нужны не телефонные функции, а дисплей, клавиатура, ком-порт. Соответственно нужна пр. схема. Может кто подскажет ссылки или любую другую информацию?
  14. Не сталкивался ни разу. на одной машине 2х256, на другой 4х256. На обе 98 встает из под ДОСа без всяких вопросов, ну и работает соответственно тоже без вопросов (задачи: оцифровка и кодирование видео). Только не проверял модули обьемом больше 256, с ними могут быть проблемы, хотя интуиция подсказывает, что не должно быть.
  15. Вышел в свет кейл 2.20 для ARM. >Keil CARM Version 2.20 is now available. This update adds support for function >inlining and cross function inlining. The linker removes unused >functions. Compiler warnings are enhanced and several minor problems are >corrected. Список изменений во вложении. Качать как обычно с http://www.keil.com/demo/eval/arm.htm P.S. Ставится поверх 2.11 без вопросов. P.P.S. Там же: ARTX-ARM Version 1.01 Update Version 1.01 of the ARTX Advanced RTOS for ARM is now available. This update includes TCP/IP support and new configurations for LPC2000, AT91SAM7Sxx, STR71x, and ADuC702x devices. The kernel-aware debugging dialog has been enhanced with accurate Stack Load display. what_new.zip
×
×
  • Создать...