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

vladimir_orl

Участник
  • Постов

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

  • Посещение

Сообщения, опубликованные vladimir_orl


  1. Тоже разбираюсь с LUFA. На сайте микросина много написано. Я ему пару вопросов задавал, он ответил. Так что спроси его. Заодно и я почитаю, может пригодиться.

     

    USB на AT90USB647

     

    Странный выбор. Уж лучше новые МК. А он в студии эмулируется?

  2. Перевёл порт в BIOS-е на bidirectional режим. Потихоньку начал давать напряжение. Ток резко поднялся. Т.е. там идёт сильная привязка к +5 В или 0 В. Попробовать хочу честно читать 8 бит через LPT. Но это так, вроде внеклассного чтения. Пишу свой драйвер, вот решил его для LPT сделать.

  3. Здравствуйте. Пишу драйвер для своего LPT устройства. Данные отправляются правильно, а назад ничего не приходит (точнее 0x00). Слышал, что надо перевести порт в режим чтения. Подскажите, как правильно нужно сделать. Метод проб и ошибок пока не применяю, т.к. не хочется палить LPT порт.

  4. Здравствуйте. Имеется несколько однотипных устройств, которые работают с ПК через USB порт посредством FTDI2232H (создаются виртуальные COM-порты). Используется только один канал, почему заложена FTDI с двумя каналами - для меня самого загадка.

     

    При работе программа на ПК должна выбирать их среди множества других устройств, использующих такие же FTDI.

    Скачал на сайте FTDI программу, просматривающую подключенные устройства, вот два примера (по одному нужному).

    post-73591-1401596642_thumb.jpg

     

    post-73591-1401596628_thumb.jpg

     

    Подскажите, по какому параметру их нужно группировать или какой параметр настроить для группировки. Использую C# и FTD2XX_NET.dll с обёрткой для .NET C#.

     

    Вот нашёл наверное то что нужно. Интересно, присвоение номера платное или нет...

    Сейчас этот софт FT_Prog называется.

     

    http://roboforum.ru/forum2/topic5723.html

     

    Думаю, можно группировать по полю "description". Его использование, наверное, является бесплатным.

  5. Здравствуйте. Приобрёл себе плату STM32F407 Discovery. Очень понравилась. Программирую в keil-е.

    А апноуте от кейла

     

    www.keil.com/appnotes/docs/apnt_230.asp

     

    написано, что есть возможность зашивки программы не во флеш, а в ОЗУ и приведены настройки. Сделал по образцу: не прошивается. Пишет "ошибка загрузки во флеш".

     

    Подскажите, как правильно сделать надо? Если можно с картой настройки IRAM и IROM.

     

    P. S. Скажите, а в Coocox такое можно сделать?

  6. Спасибо за подробные ответы. Позвольте ещё два вопроса.

     

    Сразу извиняюсь за кросспостинг.

     

    1) В процессе работы (после сильной тряски) акселерометр стал выдавать 0xFF. В нормальное состояние работы удалось вернуть опять только сильным встряхиванием. Это действительно в датчике что-то западает?

     

    2) Значения акселерометра откалиброваны при 2.0 вольтах. Работает он (как ни странно) на 3.3 В для обеспечения совместимости с микроконтроллером. Соответственно сдвинуты уровень нуля и шкала. Ввиду отсутствия требуемого оборудования, настройку производил просто:

    определял максимальные по модулю значения в положении к нормали силы тяжести "+" и положении "-". И вычислял среднее смещение. Допустим было +37 (для +1g) и -29 (для -1g). Смещал на 4. Получал +33 и -33. И относительно этого получал значения. Возможно ли получить точное смещение уровня нуля, поставив датчик перпендикулярно?

  7. Здравствуйте. Скачал демо-проект для Discovery Stm32F4, работа с UARTом, для Keil5.

    Там, среди прочего, есть инклуд файла

     

    #include "stm32f4xx_rcc.h"

     

    Пытаюсь подключить его через Manage Run-Time Environment. И не нахожу. Говорят должна быть вкладка включения периферии, а её, похоже, нет.

     

     

     

     

     

     

     

    P.S. Третий день пытаюсь скачать Coocox. То сайт недоступен то регистрация не проходит...

     

     

     

     

     

    post-73591-1394087732_thumb.jpg

    post-73591-1394087739_thumb.jpg

     

     

  8. Здравствуйте, уважаемые коллеги.

     

    Второй день уже сижу и думаю. Имеется акселерометр ADXL362 (рабочая партия), подключенный через SPI к микроконтроллеру.

    И с него считываются данные ускорений по осям X Y Z (регистры 0х08, 0х09, 0х0А). Точнее должны считываться. Потому что приходит информация только о значении по оси Х.

     

    Читаю и по очереди и списком. Раньше всё работало. Подскажите, что это может быть.

     

    Если вопрос не в этой ветке, переадресуйте.

     

    Сам себе отвечаю.

     

    На сайте AD нашёл.

     

     

    /* Bit values in POWER_CTL (8 bits allocated) */

    #define XL362_STANDBY 0x00

    #define XL362_MEASURE_1D 0x01 !!!!!

    #define XL362_MEASURE_3D 0x02

    #define XL362_AUTO_SLEEP 0x04

    #define XL362_SLEEP 0x08

     

     

    А в даташите этого нет...

  9. Заработало!

     

     

    Вот код:

     

     

    #include <LPC13xx.h>
    #include <core_cm3.h>
    
    unsigned long p = 0;
    
    
    void TIMER32_0_IRQHandler()
    {
        LPC_GPIO0->DATA = p;
        ++p;
    }
    
    
    
    int main()
    {
        SystemInit();
        LPC_GPIO0->DIR = 0xFFFFFFFF;
    
        LPC_TMR32B0->MCR = 0x01;
        LPC_TMR32B0->MR0 = 0x30;
        
        __enable_irq();
        
        
        NVIC_EnableIRQ(TIMER_32_0_IRQn);
        TIMER32_0_IRQHandler(TIMER_32_0_IRQn);
        
        LPC_TMR32B0->TCR = 0x01;
        while(1){
            __asm("nop");
            __asm("nop");
            __asm("nop");
        }
    }

     

    Всем большое спасибо!

  10. Да. Спасибо. Это как учиться плавать. Вначале всё делаешь как надо и удивляешься почему не получается.

    Потом, когда научился, удивляешься почему раньше не умел.

     

    Вначале прерывание от таймера детально разберу, а там уже на более серьёзное переходить буду.

     

    Сделал программу для LPC1343. По совпадению таймера должно генерироваться прерывание:

     

     

    #include <LPC13xx.h>
    #include <core_cm3.h>
    
    void TIMER_32_0_IRQ_Handler()
    {
        LPC_GPIO0->DATA|=(1<<7);
    }
    
    
    
    int main()
    {
        LPC_GPIO0->DIR = 0xFFFF;
        LPC_TMR32B0->MCR = 0x01;
        LPC_TMR32B0->MR0 = 0x30;
        __enable_irq();
        NVIC_EnableIRQ(TIMER_32_0_IRQn);
        NVIC_SetPendingIRQ(TIMER_32_0_IRQn);
        LPC_TMR32B0->TCR = 0x01;
        while(1){
            __asm("nop");
        }
    }

     

     

    Программа зависает на строке NVIC_SetPendingIRQ(TIMER_32_0_IRQn);

    Подскажите, может в стартапе подправить что надо?

     

    И SystemInit(); вначале дописал, всё равно зависает.

  11. Тогда проверьте происходит ли переход на обработчик при установке его в состояние pending

     

    Дело как раз в том что я не знаю как настраивать обработчик NVIC. Как говорится смотрю в книгу (в даташиты), а вижу...

     

    То есть хотя бы пример

     

    NVIC config()
    
    Timer interrupt config()ж
    
    Timer ISR()ж
    
    
    while(1);

     

     

    Чтобы понять что и как.

     

    Не "ж" конечно а ";".

     

    А codered разве бесплатный? Подскажите где для него платочку купить можно?

  12. Отладчик недорого стоит.

     

    В терраэлектронике j-link / u-link около 10000. И плюс плата.

     

    Читал раньше продавали lpcXpresso но сейчас не нахожу где купить.

    Да и судя по всему lpcXpresso + CodeRed это нечто из области ардуино.

     

    Хотя для начала можно и его. Чтобы плату сразу с компьютера заливать можно было. Даже если без отладчика. И периферия выведена была.

  13. По крайней мере GPIO и таймеры отрабатывает.

     

    Скачайте среду разработки от NXP - там есть примеры

     

    Что за среда? Подскажите. CodeRed?

     

    По крайней мере GPIO и таймеры отрабатывает.

     

    Скачайте среду разработки от NXP - там есть примеры

     

    Что за среда? Подскажите. CodeRed?

     

    Смотрю на http://www.nxp.com/, что-то нет ничего похожего...

  14. Здравствуйте. Изучаю LPC Cortex-ы (предпринимаю попытки).

     

    Отладочных плат мне так и не привезли, поэтому использую связку Keil5 + Proteus8.

     

    Сделал учебный проект для LPC1343FBD48. Он нормально эмулируется и кейлом и протеусом.

    Помигал светодиодами, поработал с таймером. А с прерываниями - никак.

    Честно стараюсь изучить NVIC, но без примеров, похоже, трудно.

     

    Если у кого есть, киньте ссылку на простой пример в кейле для LPC кортекса для таймера или UARTа, etc.

    Нечто вроде, мигания светодиодами по прерыванию таймера или по приёму байта от UART/SPI/I2C.

     

     

  15. Так вот как раз везде пишут что скорость просыпания из режима StandBy выше чем из режима PowerDown за счёт включенного внутреннего генератора.

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

     

    Может частоту кварца можно понизить?

     

    Да, смотрел, в tiny2313 есть программируемый делитель частоты. Но нигде не написано, можно ли его постоянно использовать, т.е. к примеру каждую минуту понижать частоту а затем опять повышать.

    Не выведет ли это из строя тактовый генератор микроконтроллера. Да и наверное при подключенном внешнем кварце этот фокус не сработает.

  16. Спасибо. А скорость выхода также быстрее будет? Казалось было разница в микросекунды (на 20 МГц, 14 CLK) а так сильно влияет. Уже и сайт атмела весь излопатил.

     

    У меня на tiny2313 в режиме PowerDown потребление тока составляет 25 мкА а в режиме StandBy - 300 мкА. Думаю неужели генератор столько кушает?

     

    Подключен внешний кварц на 20 МГц.

     

    плюс потребление от кварца (видимо предоставляется самому посчитать)

     

    Подскажите, каким образом я могу его подсчитать. Я понимаю что окончательно всё дадут практические замеры, но хочется и теорию знать.

  17. Здравствуйте. Подскажите, есть ли в новом микроконтроллере attiny2313a режим standby? Пять раз перечитал даташит на него. Нашёл в начале даташита упоминание, что такой режим (standby) есть.

     

    Но дальше по тексту ни упоминаний ни графиков потребления тока в этом режиме не указывается.

    А есть только графики режимов Idle и PowerDown.

     

     

     

    В attiny2313 есть режим standby.

     

    А суть вопроса в том, что в микроконтроллере attiny2313 режиме standby потребляется всё равно много тока, не говоря уже про idle. А в режиме PowerDown микроконтроллер слишком долго просыпается. Вот я и думал что может новая версия attiny2313a должна меньше тока потреблять.

×
×
  • Создать...