18.02.2020, 11:40
|
|
Вид на жительство
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от dgrishin
|
А попробовать ??
|
Стоим ждём неизвестно чего, уже все комбинации сигналов были, а мы стоим.
Сообщение от AJScorp
|
while (~GPIOC-›IDR & (GPIO_IDR_IDR6|GPIO_IDR_IDR7)) {}
|
Работает, так же как и моя, но моя 8 асм команд, а эта 4!!! в два раза быстрее!
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
|
|
|
|
18.02.2020, 12:09
|
|
Вид на жительство
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от dgrishin
|
while (GPIOC-›IDR & (GPIO_IDR_IDR6|GPIO_IDR_IDR7) != (GPIO_IDR_IDR6|GPIO_IDR_IDR7))
Ждем пока не будет равенства.
|
Вот! этот да, и самый короткий, компилятор всё переколбасил, но величина исходника уменьшилась 916 против 945 AJScorp и 961 в моём.
Тока фигня в том, что работать как мне хотелось не стало, ну да ладно, видимо проблема не тут.
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
|
|
|
|
18.02.2020, 13:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Murka-MakMur
|
Вот! этот да, и самый короткий
|
Потому что его компилятор оптимизировал до нуля, ибо этот цикл никогда не выполнится.
Согласно приоритетам операций получилось while(GPIOC-›IDR & false);
|
|
|
|
18.02.2020, 13:40
|
|
Вид на жительство
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от AJScorp
|
Потому что его компилятор оптимизировал до нуля,
|
похоже да
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
|
|
|
|
18.02.2020, 13:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.02.2013
Сообщений: 1,038
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от AJScorp
|
Потому что его компилятор оптимизировал до нуля
|
Ну извините, скобочками пожадничал.
while ((GPIOC-›IDR & (GPIO_IDR_IDR6|GPIO_IDR_IDR7)) != (GPIO_IDR_IDR6|GPIO_IDR_IDR7))
|
|
|
Сказали "Спасибо" dgrishin
|
|
|
18.02.2020, 18:54
|
|
Вид на жительство
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от dgrishin
|
Ну извините, скобочками пожадничал.
|
Эх!!
Только этот и работает, остальные выходят по любой единице, и пофиг шо там написано шо по двойному условию.
Код:
|
while ((GPIOC-›IDR & (GPIO_IDR_IDR6|GPIO_IDR_IDR7)) != (GPIO_IDR_IDR6|GPIO_IDR_IDR7))
0x800'5e1e: 0x4816 LDR.N R0, [PC, #0x58] в R0 адрес GPIOC_IDR, весь регистр
0x800'5e20: 0x6800 LDR R0, [R0] в R0 значение по адресу R0
0x800'5e22: 0xf010 0x00c0 ANDS.W R0, R0, #192 маска, обнуляет биты в R0 своими нулями, 6-ой и 7-ой (#192) не трогает
0x800'5e26: 0x28c0 CMP R0, #192 сравнивает R0 с #192 если равно то Z=1
0x800'5e28: 0xd1f9 BNE.N 0x800'5e1e если флаг Z=0 переходим по адресу, продолжая while либо пропускаем данную команду чем завершаем while |
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
|
|
|
|
18.02.2020, 19:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.02.2013
Сообщений: 1,038
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Murka-MakMur
|
Только этот и работает
|
в конструкции while (~GPIOC-›IDR & (GPIO_IDR_IDR6|GPIO_IDR_IDR7)) {}
компилятор ведь не знает что GPIOC-›IDR это read-only регистр и попытка изменить его содержимое (~GPIOC-›IDR) приводит к полному фиаско
|
|
|
|
18.02.2020, 19:40
|
|
Вид на жительство
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от dgrishin
|
компилятор ведь не знает что GPIOC-›IDR это read-only регистр и попытка изменить его содержимое (~GPIOC-›IDR) приводит к полному фиаско
|
Точно, молчал как рыб!
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
|
|
|
|
18.02.2020, 20:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от dgrishin
|
~GPIOC
это read-only регистр и попытка изменить
|
Знатока видно издалека! Проиграл-с, ты подебил.
Сообщение от Murka-MakMur
|
молчал как рыб!
|
А можно посмотреть листинг на мой код?
Последний раз редактировалось AJScorp; 18.02.2020 в 20:47.
|
|
|
|
18.02.2020, 21:34
|
|
Гуру портала
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,668
Сказал спасибо: 187
Сказали Спасибо 3,187 раз(а) в 2,065 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от dgrishin
|
в конструкции while (~GPIOC-›IDR & (GPIO_IDR_IDR6|GPIO_IDR_IDR7)) {}
компилятор ведь не знает что GPIOC-›IDR это read-only регистр и попытка изменить его содержимое (~GPIOC-›IDR) приводит к полному фиаско
|
Кеил знает имнеп
__________________
кагмаподэ магмаподэ
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:18.
|
|