-
Постов
1 451 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Весь контент esaulenka
-
LPC213x/01
esaulenka ответил Vasil_Riabko тема в ARM, 32bit
Всё очень просто :) V_N нужно описание на FastGPIO конкретного процессора - 2138/01, а мне - описание возможности читать состояние порта. Желательно на любом процессоре с FastGPIO (проект на LPC2138 у нас вряд-ли будет развиваться...). Про скорость читал, хотя не проверял никогда за ненадобностью. -
LPC213x/01
esaulenka ответил Vasil_Riabko тема в ARM, 32bit
Почитал... Итого: На сайте www.nxp.com user manual на 213x/01 обнаружить не удалось. На www.standardics.nxp.com нужный документ дают, и в нём во введении о таковой фиче сказано. В разделе GPIO - ни слова. в документах на LPC23xx упоминаний вообще никаких - раздел GPIO сильно напоминает даташиты на предыдущие камни, а во введении FastGPIO упоминается мимоходом. Может, shahr просветит - на каких процессорах FIOxPIN отражает действительную ситуацию на ногах контроллера? -
LPC213x/01
esaulenka ответил Vasil_Riabko тема в ARM, 32bit
О как! А где про это написано? -
У меня оооочень редко бывает. Лечу переключением на другой документ.
-
Keil для ARM и выравнивание в структурах
esaulenka ответил kosyak© тема в ARM, 32bit
Дурацкий вопрос: а что будет в памяти, если сделать struct TPackHead head; memset (head, 0, sizeof (TPackHead)); head.Signature = 0xFF; head.Answer = 1; ... head.PacketSize = 0xFFFF Кейл как-то странно себя вёл с битовыми полями. Разбираться не стал, переделал под маски. Впрочем, в той ситуации подозреваю собственные кривые руки :) Заинтересовался. Что тут в хелпе обещают? Выравнивание - по байтам, что-ли? -
LPC2104 и RL-FlashFS
esaulenka ответил PAL73 тема в ARM, 32bit
Скачал, полистал. Это где, простите? S0SPSR - это status, а совсем не interrupt, регистр. Да и записи в регистры SPI в момент передачи не видно... -
LPC2104 и RL-FlashFS
esaulenka ответил PAL73 тема в ARM, 32bit
Аккуратно выкинув неиспользуемый код из приведённого кусочка. И комментарии там не к месту :) Прошу прощения, не заметил, что обращение к SSPSR закомментировано. Возможно, кто-то зачем-то читает SSP0DR. Не отладчик, случаем? Точно такой же код, как и Ваш, работает на 2134/2138 без нареканий. -
LPC2104 и RL-FlashFS
esaulenka ответил PAL73 тема в ARM, 32bit
Меня несколько смутили слова "FIFO" и упоминания SSPSR - это самый что ни на есть SSP. Открыл даташит на LPC2104, там уже всё расписано: -
LPC2104 и RL-FlashFS
esaulenka ответил PAL73 тема в ARM, 32bit
Не работал ни с 2104, ни с FlashFS, ничего не понял про "простой SPI". Самое главное, не понял, зачем читать всякие TNF и RNE, если в SSP есть бит busy. Рабочий код выглядит так: int SPI_ProcessByte (unsigned char sym) { SSP0DR = sym; while (SSP0SR & BIT(4)); // ждём освобождения контроллера return SSP0DR; // и возвращаем принятый байт } -
Два вопроса от новичка
esaulenka ответил yung тема в ARM, 32bit
Любая терминалка - заслать чипу "?", "Synchronized\r\n" и посмотреть, ответит ли он. Подробности - в даташите, раздел "memory programming" -
всем спасибо :) Страничка ST с описанием: The Kelvin source terminal enables the drive voltage to be applied between the gate and the Kelvin itself, therefore averting voltage drops of the type LS* dID/dt due to high rates of change of drain current across the stray inductance in series to the conventional source lead. Пользуйтесь оригинальной документацией ;)
-
Хитрый MOSFET
esaulenka опубликовал тема в Компоненты Силовой Электроники - Parts for Power Supply Design
подскажите, пожалуйста, что за вывод такой - Ksource ? Встречается, например, у STV160NF03L N-CHANNEL 30V - 0.0019Ω - 160A PowerSO-10 STripFET™ POWER MOSFET описание: http://www.terraelectronica.ru/pdf/ST/STV160NF03LAT4.pdf -
Эквивалент аккумулятора
esaulenka ответил techmike тема в В помощь начинающему
Забыли! Забыли проверить эквивалент аккумулятора на эквиваленте нагрузки типа "лампочка" :) Лампочка нужна низковольтная, например, автомобильная. Или резистор побольше и понизкоомней... -
Также хочется заметить, что а) VICIntEnClr - ну совершенно НЕ "enable interupt" б) в примере в OTGClkCtrl записывается совсем другое значение в) обращаться к OTGStCtrl ДО того, как включится clock, неразумно г) условие в while, подозреваю, не даст желаемого результата :) д) к PINSELx товарищ Ravikanth обращается как-то совсем... странно. Это к слову "чипы и доки кривые". К слову "пример кривой". Покажите мне бесплатный работоспособный код USB Host. Только чтоб он за собой половину линукса не тянул. И чтобы не было десятков комментариев "TODO", "FIXME", "BUG?!?", я их пугаюсь :)
-
Гм. Простите, а кто-нибудь тут спецификацию OHCI читал? Английским же языком написано, что описание регистров смотреть надо там. Сбросить бит в HcInterruptStatus можно только одним способом - записать туда единичку. PS GetSmart, Вы правы: в том примере определено USB_INT32S fdr;
-
Почему не идет сигнал
esaulenka ответил Novichok1 тема в ARM, 32bit
Если настроить вывод на что-то, отличное от GPIO, на регистры IOSET/CLR/PIN/DIR можно даже не смотреть - они перестают работать. Чтобы "подёргать" ногой SCK, надо сконфигурировать модуль SPI (или SSP) и засунуть в регистр данных какой-нибудь байт. Правда, зачем такое нужно, не знаю :) Что делать с "перестаёт работать после резета", не знаю. Пытаться понять, куда уходит программа (не в бут, случаем?..) -
С чего начать изучение USB?
esaulenka ответил scorpion200 тема в Интерфейсы
Ну как-то плохо эта книжка структурирована... "А сейчас мы быстренько изучим спецификацию, а потом напишем программы подо всё сразу" Хотя я листал электронную версию без оглавления. Бумажную книжку так и не купил, возможно, там лучше - можно быстро перелистывать вперёд-назад :) Имхо, надо взять готовый работающий пример и спецификацию на USB. Читаешь - изменяешь - откатываешься обратно :) Поднимал по примерам USB-device на LPC23xx (ком-порт, вполне успешно), Samsung S3C2410 (типа mass storage, но там ещё работать и работать...) и пытался соорудить host на самсунге (не работает, хоть тресни. пока переключился на другой проект). -
Хех, слона с точками я не приметил :) Точнее, поленился разбираться. А что за трудности с датафлешем? Если писать блоками, не вылезающими за пределы одной страницы - 264 (или сколько там, 528?) байт, то никаких проблем я не вижу. Если писать сколько хочешь куда хочешь, получится чуть сложнее. Читать - без разницы. Сам делал модуль для AT45DB011, но он получился сильно заточненым под мои данные. Какие-то конкретные вопросы можно и обсудить :)
-
Помогите стартануть с LPC
esaulenka ответил valeroon тема в ARM, 32bit
Увы, крайний раз ковырялся с ШИМом в институте (на PIC18), ничего толком подсказать не могу... Разве что не понял вот этот кусочек: PINSEL4_bit.P2_0=1; PINSEL4_bit.P2_1=1; PINSEL4_bit.P2_0=0; PINSEL4_bit.P2_1=0; PINSEL4_bit.P2_0=1; PINSEL4_bit.P2_1=1; -
Помогите стартануть с LPC
esaulenka ответил valeroon тема в ARM, 32bit
не далее как сегодня в очередной раз прошёлся по этим граблям. в LPC23xx необходимо сделать PINSEL10 = 0 (странно... резистор нужный стоит... джитаг этот резистор "пересиливает", что-ли?..) на LPC24xx даташита под рукой нет, предлагаю внимательно посмотреть раздел Pin Connect Block, особенно в части port2 -
ругаться тут можно на а) FIOxSET, FIOxCLR перед записью читать не нужно!! б) нестандартные имена в) некрасивый, на мой взгляд, вызов макроса предпочёл бы P0.0_IN(); вместо P0.0_IN; г) супер-мега-монстр типа дефайн-внутри-дефайна у меня не удался :) но такой объем copy-paste... некрасиво... я делал вот такую штуку // регистры Fast GPIO для LPC23xx #define PORT0 0x3FFFC000 #define PORT1 0x3FFFC020 #define PORT2 0x3FFFC040 #define PORT3 0x3FFFC060 #define PORT4 0x3FFFC080 #define FIODIR(port) (*(volatile unsigned long *)(port + 0x00)) #define FIOMASK(port) (*(volatile unsigned long *)(port + 0x10)) #define FIOPIN(port) (*(volatile unsigned long *)(port + 0x14)) #define FIOSET(port) (*(volatile unsigned long *)(port + 0x18)) #define FIOCLR(port) (*(volatile unsigned long *)(port + 0x1C)) а потом определял кучу однотипных функций (надо было обращаться "поштучно" к 40 пинам, хаотично разбросанным по всем портам) #define DefPin(PinName,Port,BitNo) \ void Set##PinName (int val) \ { \ FIODIR(Port) |= BIT(BitNo); \ if (val) FIOSET(Port) = BIT(BitNo); \ else FIOCLR(Port) = BIT(BitNo); \ } \ int Get##PinName (void) \ { \ FIODIR(Port) &= ~BIT(BitNo); \ return (FIOPIN(Port) & BIT(BitNo)); \ } DefPin (RST2, PORT1, 29); можно расширить, скажем, так: #define PORT_IN(port,pin) FIODIR(port) &= ~(1UL<<(pin)) #define PORT_SET(port,pin) FIOSET(port) = (1UL<<(pin)) впрочем, эти макросы тоже заслуживают эпитетов "нестандартно" и "некрасиво" ;)
-
Уважаемые, посмотрите пожалуйста схему ->
esaulenka ответил Буратино тема в Схемотехника
Не нравится... В частности, фильтр, подобный тому, что по входу ON, у нас на одном устройстве чудесно ловил (и передавал дальше) помехи. Я б триггер поискал какой-нибудь. -
у меня стоит Кейл 3.62 + 302_add работает с CARM'ом, если СНЯТЬ обе галочки PS у меня неправильный файлик add, или там действительно нет хелпа? Иногда бывает очень полезно...
-
Как организовать питание от LPT
esaulenka ответил Jabberwok тема в В помощь начинающему
... и вход там - RS232... ;) -
SD + RL ARM 3.40
esaulenka ответил igorenja тема в Программирование
предлагаю воспользоваться гуглем вообще и http://www.keil.com/forum/docs/thread14304.asp в частности :) Кстати говоря, на сайте кейла весьма толковые книжки. http://www.keil.com/support/man_arm.htm И в форуме там тоже советы дельные. Разве что мне языка не хватает, чтобы грамотно задавать вопросы...