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

Obam

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

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

  • Посещение

  • Победитель дней

    2

Весь контент Obam


  1. MSP432 пока в стадии PREVIEW, нет их живьём.
  2. RTC_B & Backup Supply

    :) Вот только без перехода на личности, пожалуйста Просто ради спортивного интереса: "power good (PG) (TPS774xx) The PG terminal is an open drain, active high output that indicates the status of Vout (output of the LDO). When Vout reaches 82% of the regulated voltage, PG will go to a high-impedance state. It will go to a low-impedance state when Vout falls below 82% (i.e. over load condition) of the regulated voltage. The open drain output of the PG terminal requires a pullup resistor. reset (RESET) (TPS773xx) The RESET terminal is an open drain, active low output that indicates the status of Vout. When Vout reaches 95% of the regulated voltage, RESET will go to a high-impedance state after a 220-ms delay. RESET will go to a low-impedance state when Vout is below 95% of the regulated voltage. The open-drain output of the RESET terminal requires a pullup resistor." есть некое различие…
  3. "Коэффициенты не расчитывал. Заполнил поле структуры…" Во времена настали… "Астролябия сама меряет, было бы чего мерять " :)
  4. RTC_B & Backup Supply

    От как обернулось :) Но назначение PG не для сброса "проца" (к примеру TPS773xx имеют ~RST, а TPS774xx - PG), а для индикации "кондиционности" питания.
  5. Ну вы бы хоть расчёты, коэффициенты привели…
  6. STM32L100 + HTS221

    По моему, экспериментов - достаточно; настал момент ещё раз, но медленно и внимательно, прочитать RM0038 (понятно о чём я?) стр.741-767. Там есть чудесные диаграммы как ведут себя флаги в SPI_SR.
  7. STM32L100 + HTS221

    Не " наложились" а придвинулись; если датчика нет то просто наводка синхроимпульсов на вход.
  8. STM32L100 + HTS221

    Вам можно!!! Данные 8-разрядные, детский сад - штаны на лямках! Убирайте задержки.
  9. STM32L100 + HTS221

    http://electronix.ru/forum/index.php?showt...t&p=1347675 На приём почему 16бит?
  10. STM32L100 + HTS221

    Ни фига не правильную! А "сообщение" не двигать, а SPI 8-битный должен быть.
  11. STM32L100 + HTS221

    "Вот хоть убейте…" " SPI_InitStructure.SPI_DataSize=SPI_DataSize_16b; " Из солёного огурца пристрелить разве что… Да ё-ж-моё!!! 8-битный интерфейс!!! Читать после 0x8F в ваших 0x8F00 чем будете?
  12. STM32L100 + HTS221

    Это одна команда SPI2->DR = 0x8F? Вот что хотите делайте, но на диаграмме 16-битовый обмен: 0x008F. "Сейчас юзаю такой код, чисто отсылаю и не опрашиваю " Нельзя так делать: цикл шины датчика должен быть завершённым; впрочем так и есть - запись по адресу 0x00 числа 0x8F что запрещено. Изнасилованный HTS221 :crying:
  13. STM32L100 + HTS221

    Какой смысл вашего сообщения? Запись в датчик по адресу 0x00? При том что: Reserved - 0x00..0x0E - Do not modify.
  14. STM32L100 + HTS221

    Ну что? SPI2->CR1 |= SPI_CR1_CPOL; //исходное состояние SCK==1 SPI2->CR1 |= SPI_CR1_CPHA; //capture 0-->1 не судьба?
  15. STM32L100 + HTS221

    Биты CPOL, CPHA в настройках SPI
  16. STM32L100 + HTS221

    Данные у вас меняются по заднему фронту SCL, фиксируются по переднему фронту. Всё нормально.
  17. STM32L100 + HTS221

    "но у меня выставлен формат данных 8, и вроде он должен отправлять и принимать по 8 импульсов, но на самом деле как я понял по его работе, он первую половину воспринимает как отправляемое сообщение, а вторую часть как получаемое" Во-первых, кто он? Во-вторых, первый байт - адрес в датчике, а второй байт - данные (если запись в датчик) или ответ датчика (если чтение из него). "SPI2->DR = 0x8F" команда, дающая передачу первого байта; "SPI2->CR1 &= ~ SPI_CR1_BIDIOE" команда, дающая прием второго байта. Если бы надо было записать данные в датчик, то использовалась бы вторая команда "SPI2->DR = 0x**".
  18. STM32L100 + HTS221

    А что не так? 00101010b==0x2A старшим битом вперёд. Всё нормально.
  19. RTC_B & Backup Supply

    Из описания (SLAU208M, Chapter 2, стр 99-101) не очень следует, что PMM должен вкдючать "…Backup Supply при выключении основного питания…". Или цитата подразумевает что-то иное? PS: отставить! стр 126 "The switch is controlled by the high-side SVS that supervises the primary supply, DVCC."
  20. STM32L100 + HTS221

    • 8- or 16-bit transfer frame format selection
  21. STM32L100 + HTS221

    SPI2->CR1 |= SPI_CR1_BIDIOE; //BIDIOE передача SPI2->DR = 0x8F; //Пишем в буфер передатчика SPI1. while(!(SPI2->SR & SPI_SR_TXE));// Ожидаем окончания передачи данных SPI2->CR1 |= SPI_CR1_BIDIOE; //BIDIOE передача for(uint32_t i=0; i<0x000FFFFF; i++); //Прием данных. SPI2->CR1 &= ~ SPI_CR1_BIDIOE; //BIDIOE прием while(!(SPI2->SR & SPI_SR_RXNE));//приняли данные bufPr1 = SPI2->DR;//Считываем данные из приемного буфера SPI1. При этой операции происходит очистка буфера и сброс флага RXNE SPI2->CR1 |= SPI_CR1_BIDIOE; //BIDIOE передача Ну откуда??? 8 синхроимпульсов от "SPI2->DR = 0x8F" и 8 синхроимпульсов от "SPI2->CR1 &= ~ SPI_CR1_BIDIOE"
  22. STM32L100 + HTS221

    Шутки шутками, но доку (DS на датчик и контроллер и RefMan на контроллер) - курить до просветления. Данные в датчик должны "вдуваться" старшим (MSB) битом вперёд: R\~Wбит это старший, AD5..AD0 - записаны от старшего к младшему => 10001111b. Зачем это преворачивать? "Так ведь чтобы что то передать это что то надо записать в DR, оттуда и считать что пришло, разве нет?" Так вы и писали в DR 0x8F при BIDIOE==1, а как этот байт был отправлен, то BIDIOE 1-->0 переключит SPI на приём и автоматически вычитает (R\~W==1 не забыли?) из датчика данные по только что переданному адресу, их вы увидите тоже в DR. И ещё: если не будет выполнено "This line is driven at the falling edge of SCL and should be captured at the rising edge of SCL." то не правильно будут тактироваться данные. CPOL, CPHA соответствуют требуемому?
  23. А сообществу рассказать что да как…
  24. STM32L100 + HTS221

    Стоять!!!!! Назад!!!!! В DR 0xBC писать не надо. Это датчик во втором байте должен вернуть (т.е. процессор вычитать). Вот примерно так: По поводу плавного спада: надо разобраться с исходным уровнем и активным фронтом SCK.
  25. STM32L100 + HTS221

    DataRegister ;) "bufPr1 = SPI2->DR;//Считываем данные из приемного б…" 0xBC должен ответить датчик. Данные SPI-блоком в контроллере могут двигаться по переднему или по заднему фронту синхроимпульсов. Вот ответ датчика с правильным ID и будет признаком правильной настройки интерфейса. Наличие синхроимпульсов во время плавного спада данных не годится.
×
×
  • Создать...