Важная информация

User Tag List

Страница 4 из 4 ПерваяПервая 1234
Показано с 31 по 37 из 37

Тема: Выставить биты данных на ШД Микроши в диапазоне 8000H-BFFFH

  1. #31
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,520
    Спасибо Благодарностей отдано 
    232
    Спасибо Благодарностей получено 
    56
    Поблагодарили
    43 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    if(workAddrDiapason!=0) // Если сигналы /32К и /RD физически не установлены в 0
    Мне думается, что тут не "и", а "или" (хотя бы один из /32K или /RD не установлен)

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    Павлодар
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    228
    Спасибо Благодарностей получено 
    485
    Поблагодарили
    368 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Код:
    if(workAddrDiapason!=0) // Если сигналы /32К и /RD физически не установлены в 0
    Мне думается, что тут не "и", а "или" (хотя бы один из /32K или /RD не установлен)
    У него перед этим стоит это:
    Код:
    uint32_t workAddrDiapason = GPIOA->IDR & (GPIO_IDR_IDR10_Msk | GPIO_IDR_IDR11_Msk)
    И 0 там будет только если оба в нуле будут. А условие выше срабатывает на 1 для отключения шины, иначе включает и эта ветка после else.

  4. #33
    Member
    Регистрация
    03.09.2020
    Адрес
    г. Санкт-Петербург
    Сообщений
    34
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    И 0 там будет только если оба в нуле будут. А условие выше срабатывает на 1 для отключения шины, иначе включает и эта ветка после else.
    Да, именно так. В if-ветке обрабатывается ситуация когда не оба в нуле, там режим ножки выставляется как input чтобы не влиять этой ножкой на подключаемую схему. В else-ветке включается режим выхода и выставляется нужное значение на ножке (в эксперименте-1 выставляю 0, в эксперименте-2 выставляю 1).

    Для варианта выставления нуля (эксперимент-1), этот ноль выставляется на слишком короткое время. Ноль должен удерживаться как минимум до момента восходящего фронта на желтой линии. После этого еще нужно время чтобы STM-ка поняла, что не оба сигнала в нуле, и только после этого перестать удерживать ноль. А по графику мы видим, что ноль перестает удерживаться гораздо раньше. И почему так происходит, я не могу понять.
    Любопытный хомячок webhamster.ru - маленький и пушистый IT-проект

  5. #34
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,520
    Спасибо Благодарностей отдано 
    232
    Спасибо Благодарностей получено 
    56
    Поблагодарили
    43 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще из мыслей навскидку - не доверяю локальным переменным с областью видимости в пределах ветки цикла. Попробуйте вынести объявление переменной повыше, или вообще сделайте ее статической/volatile.

    uint32_t workAddrDiapason

  6. #35
    Member
    Регистрация
    03.09.2020
    Адрес
    г. Санкт-Петербург
    Сообщений
    34
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Еще из мыслей навскидку - не доверяю локальным переменным с областью видимости в пределах ветки цикла.
    Новое слово в программировании? Нельзя же так к алгоритмизации относиться.

    Но! Я проверю, я готов поверить в любую дичь.
    Любопытный хомячок webhamster.ru - маленький и пушистый IT-проект

  7. #36
    Master Аватар для Serg6845
    Регистрация
    30.12.2018
    Адрес
    г. Москва
    Сообщений
    752
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    179
    Поблагодарили
    169 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от xintrea Посмотреть сообщение
    Новое слово в программировании? Нельзя же так к алгоритмизации относиться.

    Но! Я проверю, я готов поверить в любую дичь.
    надо брать листинг того что нагенерил компилятор и вникать. возможно просто бага компилятора.
    и еще - я бы для проверки перенес кусок кода со 165 по 181 строки в район 145 строки. чем-то мне этот кусок подсознательно не нравится...
    Последний раз редактировалось Serg6845; 30.05.2022 в 21:55.

    Зверинецъ

    Специалист "совсем стандарт" - 88-89
    Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
    Ленинград2 + CF карта
    Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
    [свернуть]

  8. #37
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,520
    Спасибо Благодарностей отдано 
    232
    Спасибо Благодарностей получено 
    56
    Поблагодарили
    43 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от xintrea Посмотреть сообщение
    Новое слово в программировании? Нельзя же так к алгоритмизации относиться.
    Опыт - сын ошибок трудных, а также понимание отличия поведения идеального сферического компилятора в вакууме от практической реализации.

Страница 4 из 4 ПерваяПервая 1234

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 35
    Последнее: 07.01.2020, 11:32
  2. Генерация случайных чисел в заданном диапазоне
    от Oleg N. Cher в разделе Программирование
    Ответов: 31
    Последнее: 09.02.2017, 03:19
  3. Как выставить уровень чёрного?
    от Demige в разделе Изображение
    Ответов: 15
    Последнее: 13.03.2012, 15:16
  4. Как выставить перемычки для подключения к ПК
    от Руслан в разделе Внешние накопители
    Ответов: 13
    Последнее: 12.10.2011, 19:37

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •