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

    

jcxz

Свой
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

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

Контакты

  • ICQ
    311337544

Информация

  • Город
    Омск

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

13 743 просмотра профиля
  1. Cosmic IdeaSTM8 и тип INT

    Я ничего не доказываю, вы что-то путаете - я вообще ничего не говорил про нужность или ненужность его. Наоборот - только в свой адрес и слышу "Раз ты его не используешь, то ты лох". Тут привели его в качестве аргумента, я всего лишь спросил: "где его описание или что из себя представляет?" В ответ получил отсылки туда, где этого описания нет. В том, что данная версия IAR неправильно компилит код с uint16_t, а значит её листинг нельзя приводить в качестве объяснения работы с такими типами - он неверный: https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=147939 PS: Да, вот теперь вижу разницу между типами (IAR_7.80.4):
  2. Cosmic IdeaSTM8 и тип INT

    Открыл этот самый stdint.h: И о чём же таком сокровенном говорит это: typedef __INT_FAST8_T_TYPE__ int_fast8_t; ??? Просветите неуча. Научите как из этого определения почерпнуть тонкости его реализации? И __INT_FAST8_T_TYPE__ нигде нету.... Ваш 8.2x здесь никак не авторитет - читайте ветку про IAR про баги. Незачем тут кривые листинги в подтверждение чего-то выкладывать.
  3. Cosmic IdeaSTM8 и тип INT

    Версия IAR-а, которым сиё скомпилено - какая? Вообще, это хороший тон - указывать номер версии компилятора, если приводите что-то касающееся его работы (листинги). У IAR-а между прочим в некоторых версиях от 8.xx до 8.32 есть баг касающийся как раз компиляции такого кода, где есть операции сравнения неосновных типов (например u16). Уже разбирали его на этом форуме. Потом они его поправили (в 8.30 или 8.32). Так что если Вы привели от такой кривой версии - то грош цена этим листингам.
  4. Cosmic IdeaSTM8 и тип INT

    За какие слова? Я разве в чём-то соврал? Вставил в исходник, IAR сказал: "undefined". Прошёл поиском по всем версиям uCOS-II какие у меня есть (поскольку некоторые утверждали что оно там есть) вплоть до v2.92.13 - нету. Стыдно должно быть тем, кто утверждал, что оно используется в uCOS-II. Вот это откровенная неправда. А то что я его не использую... Так что с того? Не нужно значит. Я думаю, что Вы тоже многое не используете, что я знаю.
  5. STM32F746 два IP адреса

    Так два интерфейса или всё-таки два IP? Если 2-е, то оно делается элементарно. Правда не на этом стеке. PS: Кросспостинг в разные ветки делать нехорошо.
  6. Перечитайте ещё раз, внимательнее, обратите внимание на выделенное: Или хотя бы воспользуйтесь гуглом: "К155ИЕ6".
  7. Берёте два 4-разрядных двоично-десятичных счётчика с возможностью параллельной записи. По их выходу ставите элемент И, объединяющий 0-й & 2-й разряды 1-го счётчика и 1-й разряд 2-го счётчика. И с выхода И заводите сигнал на вход параллельной записи в счётчик начального значения "1". В стародавние времена была такая микросхема: К155ИЕ6. Две штуки К155ИЕ6 + 3-входовой элемент И-НЕ - и Ваша схема готова
  8. Так это и есть ЦОС. Или Вы хотите его по-старинке аналогово генерировать/модулировать?
  9. Cosmic IdeaSTM8 и тип INT

    Как и где определён этот самый uint_fast8_t? Мой IAR_7.80.4 его не знает. И в uCOS-II его тоже нет.
  10. А зачем их конструировать? Если нужен FM-приёмник: покупаете на али модуль на RDA5807M, скачиваете даташит на него, подключаете его к I2C своей платы, и остаётся изучить только I2C. Если интересна приём-передача по радио - можно другие модули. Например те же nRF24L01+ на том же али. Опять - даташит + изучение SPI. Ну а если Вы хотите свой радиомодем, с модуляцией и демодуляцией, то STM32 пожалуй будет слабовата. Тут нужен DSP или ПЛИС.
  11. А я и не имел в виду WiFi-канал. Конечно гарантию стабильности времени доставки даст только plain радио-канал.
  12. stm32 i2c

    Как может залипнуть SDA? Если клоки SCL подаются то в конце концов доберёмся до конца принимаемого байта (раз SDA был == 0, значит слэйв передавал), до бита ACK, и он по любому отлипнет. Я просто даю много раз подряд СТОП-условие. Потому что если слэйв в состоянии передачи, и даже почему-то сразу не отработает СТОП посреди байта, то по-крайней мере он его будет воспринимать как клок, дойдёт до конца байта, и на ACK-е примет СТОП. Просто у меня количество СТОП-ов == длина байта + макс.длина адреса (10 битного). Clock-stretching отрабатываю всегда. На его залипание не рассчитываю.
  13. stm32 i2c

    Разве зависит? I2C же допускает объединение на одной шине устройств с 7-и и 10-битным адресом? Если так, то 7-битные должны как-то определять что сейчас передаётся 10-битный адрес. И соответственно пропускать его весь. Вот что сказано в википедии: Комбинация бит 11110ХХ адреса зарезервирована для 10-битной адресации. Получается похоже что можно совмещать на одной шине устройства с разной длиной адреса.
  14. stm32 i2c

    Если сбойнул слэйв (например - потерял клок), то это не поможет. Лучше выполнить многократное стоп-условие. Да и адрес бывает 10-битовый, так что 9 раз - маловато будет.
  15. Зачем RTC? Просто в пакете передать: "включиться через 5 сек". Все кто получил - запускают таймер на 5 сек. Через 1 сек передать пакет: "включиться через 4 сек". Через ещё 1 сек - следующий пакет "... 3 сек". И т.д. Если кто-то не получил один из пакетов (помехи), то он получит другие пакеты и всё равно запустит таймер. В результате во всех будут декрементироваться таймеры, которые обнулятся в один момент - в этот момент и включатся все. Множество пакетов (дублирование) увеличивает устойчивость к кратковременным помехам связи. И никаких синхронизаций и GPS-ов не нужно.