STM32 новичку в ARM что к чему
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: STM32 новичку в ARM что к чему
А можете расписать в чем там проблемы, просто не все сразу понимают, почему так нельзя маски делать?
Станислав
- Реклама
Re: STM32 новичку в ARM что к чему
[uquote="VladislavS",url="/forum/viewtopic.php?p=3574827#p3574827"]Да тут и гадать не надо.
У того кто вот так &buff[0] берёт адрес массива и особенно автора вот этого[/uquote]
А в чем собственно проблема? Адрес первого элемента массива это и есть указатель/ссылка на массив.
[uquote="VladislavS",url="/forum/viewtopic.php?p=3574827#p3574827"]... и особенно автора вот этого[/uquote]
Владислав, вы топиком не ошиблись? Позволю себе напомнить его название - "STM32 новичку в ARM что к чему" по этому, как новичку мне позволительно так писать. Но если внутренний перфекцонист не дает вам сдержаться, а не заходить в тему вы тоже не можете, обещаю, что впредь я буду писать только так:
Надеюсь к стилю претензий нет?
У того кто вот так &buff[0] берёт адрес массива и особенно автора вот этого[/uquote]
А в чем собственно проблема? Адрес первого элемента массива это и есть указатель/ссылка на массив.
[uquote="VladislavS",url="/forum/viewtopic.php?p=3574827#p3574827"]... и особенно автора вот этого
Код: Выделить всё
DMA1_Channel1->CCR &= ~DMA_CCR_MEM2MEM_Msk;
DMA1_Channel1->CCR &= ~DMA_CCR_DIR;
DMA1_Channel1->CCR &= ~DMA_CCR_PL_Msk;
Владислав, вы топиком не ошиблись? Позволю себе напомнить его название - "STM32 новичку в ARM что к чему" по этому, как новичку мне позволительно так писать. Но если внутренний перфекцонист не дает вам сдержаться, а не заходить в тему вы тоже не можете, обещаю, что впредь я буду писать только так:
Код: Выделить всё
DMA1_Channel1->CCR &= ~DMA_CCR_MEM2MEM_Msk |
~DMA_CCR_DIR |
~DMA_CCR_PL_Msk;
Последний раз редактировалось pavell Чт фев 21, 2019 08:29:38, всего редактировалось 2 раза.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: STM32 новичку в ARM что к чему
По моему, все пишут так... :
Код: Выделить всё
DMA1_Channel1->CCR &= ~(DMA_CCR_MEM2MEM_Msk | DMA_CCR_DIR | DMA_CCR_PL_Msk);
Станислав
Re: STM32 новичку в ARM что к чему
[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3574853#p3574853"]По моему, все пишут так... :
[/uquote]
Я еще учусь )
PS стоит результат компиляции сравнить этих двух выражений
Код: Выделить всё
DMA1_Channel1->CCR &= ~(DMA_CCR_MEM2MEM_Msk | DMA_CCR_DIR | DMA_CCR_PL_Msk);
Я еще учусь )
PS стоит результат компиляции сравнить этих двух выражений
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
Господа, вы можете писать КАК ХОТИТЕ, только не говорите мне, что я ошибаюсь в своих оценках!
Добавлено after 18 minutes 11 seconds:
[uquote="pavell",url="/forum/viewtopic.php?p=3574854#p3574854"]PS стоит результат компиляции сравнить этих двух выражений[/uquote]А давай сравним
Вариант
Вариант
Доходчиво?
Добавлено after 18 minutes 11 seconds:
[uquote="pavell",url="/forum/viewtopic.php?p=3574854#p3574854"]PS стоит результат компиляции сравнить этих двух выражений[/uquote]А давай сравним
Вариант
Код: Выделить всё
DMA1_Channel1->CCR &= ~DMA_CCR_MEM2MEM_Msk;
DMA1_Channel1->CCR &= ~DMA_CCR_DIR;
DMA1_Channel1->CCR &= ~DMA_CCR_PL_Msk;
DMA1_Channel1->CCR |= DMA_CCR_MSIZE_0;
DMA1_Channel1->CCR |= DMA_CCR_PSIZE_0;
DMA1_Channel1->CCR |= DMA_CCR_MINC;
DMA1_Channel1->CCR |= DMA_CCR_CIRC;
DMA1_Channel1->CCR |= DMA_CCR_HTIE;
DMA1_Channel1->CCR |= DMA_CCR_TCIE;
DMA1_Channel1->CCR |= DMA_CCR_EN;
Спойлер
Код: Выделить всё
// 93 DMA1_Channel1->CCR &= ~DMA_CCR_MEM2MEM_Msk;
LDR R0,??DataTable1_10 ;; 0x40020008
LDR R2,[R0, #+0]
LDR R3,??DataTable1_11 ;; 0xffffbfff
ANDS R3,R3,R2
STR R3,[R0, #+0]
// 94 DMA1_Channel1->CCR &= ~DMA_CCR_DIR;
LDR R2,[R0, #+0]
MOVS R3,#+16
BICS R2,R2,R3
STR R2,[R0, #+0]
// 95 DMA1_Channel1->CCR &= ~DMA_CCR_PL_Msk;
LDR R2,[R0, #+0]
LDR R3,??DataTable1_12 ;; 0xffffcfff
ANDS R3,R3,R2
STR R3,[R0, #+0]
// 96 DMA1_Channel1->CCR |= DMA_CCR_MSIZE_0;
LDR R2,[R0, #+0]
LSRS R3,R0,#+20
ORRS R3,R3,R2
STR R3,[R0, #+0]
// 97 DMA1_Channel1->CCR |= DMA_CCR_PSIZE_0;
LDR R2,[R0, #+0]
LSRS R3,R0,#+22
ORRS R3,R3,R2
STR R3,[R0, #+0]
// 98 DMA1_Channel1->CCR |= DMA_CCR_MINC;
LDR R2,[R0, #+0]
ORRS R1,R1,R2
STR R1,[R0, #+0]
// 99 DMA1_Channel1->CCR |= DMA_CCR_CIRC;
LDR R1,[R0, #+0]
MOVS R2,#+32
ORRS R2,R2,R1
STR R2,[R0, #+0]
// 100 DMA1_Channel1->CCR |= DMA_CCR_HTIE;
LDR R1,[R0, #+0]
MOVS R2,#+4
ORRS R2,R2,R1
STR R2,[R0, #+0]
// 101 DMA1_Channel1->CCR |= DMA_CCR_TCIE;
LDR R1,[R0, #+0]
MOVS R2,#+2
ORRS R2,R2,R1
STR R2,[R0, #+0]
// 102 DMA1_Channel1->CCR |= DMA_CCR_EN;
LDR R1,[R0, #+0]
MOVS R2,#+1
ORRS R2,R2,R1
STR R2,[R0, #+0]
Код: Выделить всё
DMA1_Channel1->CCR = DMA_CCR_MSIZE_0
| DMA_CCR_PSIZE_0
| DMA_CCR_MINC
| DMA_CCR_CIRC
| DMA_CCR_HTIE
| DMA_CCR_TCIE
| DMA_CCR_EN;
Спойлер
Код: Выделить всё
// 105 DMA1_Channel1->CCR = DMA_CCR_MSIZE_0
// 106 | DMA_CCR_PSIZE_0
// 107 | DMA_CCR_MINC
// 108 | DMA_CCR_CIRC
// 109 | DMA_CCR_HTIE
// 110 | DMA_CCR_TCIE
// 111 | DMA_CCR_EN;
LDR R0,??DataTable1_10 ;; 0x5a7
LDR R1,??DataTable1_11 ;; 0x40020008
STR R0,[R1, #+0]
- Реклама
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: STM32 новичку в ARM что к чему
А мы ничего не говорим. Ну, я ничего не говорю.VladislavS писал(а):Господа, вы можете писать КАК ХОТИТЕ, только не говорите мне, что я ошибаюсь в своих оценках!
В данном случае да, ассемблер все разложил по полочкам.
Станислав
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
[uquote="pavell",url="/forum/viewtopic.php?p=3574849#p3574849"]А в чем собственно проблема? Адрес первого элемента массива это и есть указатель/ссылка на массив.[/uquote]Разберись уже что-ли: адрес, указатель или ссылка. 
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
да только не понятно, грандиозность эта влияет на что-то или нет. в STM32 памяти просто грандиозное количество, настройка периферии делается, как правило, 1 раз за "сессию запитывания девайса"... и что даст выигрыш 5-6 слов памяти, если код для понимания новичку стал хуже? имхо, при обучении на первом месте должно быть понимание написанного кода, а не его оптимальность.СКАЗОЧНИК писал(а):ассемблер все разложил по полочкам. Разница просто грандиозная
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
Я же сразу написал "ему так наглядней", а они давай спорить. Ну наглядней - флаг в руки, барабан на шею!
[uquote="ARV",url="/forum/viewtopic.php?p=3574874#p3574874"]и что даст выигрыш 5-6 слов памяти, если код для понимания новичку стал хуже?[/uquote]Спойлер открывал? 40 ассемблерных команд против 3?
[uquote="ARV",url="/forum/viewtopic.php?p=3574874#p3574874"]и что даст выигрыш 5-6 слов памяти, если код для понимания новичку стал хуже?[/uquote]Спойлер открывал? 40 ассемблерных команд против 3?
Последний раз редактировалось VladislavS Чт фев 21, 2019 09:08:58, всего редактировалось 1 раз.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: STM32 новичку в ARM что к чему
Я думал об этом. И тем более по скорости начальная инициализация тоже особо ни на что не влияет. Но все равно, лучше привыкать к правильному сразу. )))ARV писал(а):грандиозность эта влияет на что-то или нет. в STM32 памяти просто грандиозное количество, настройка периферии делается, как правило, 1 раз за
Станислав
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
0,49% против 0,037% от имеющейся памяти (для примера взял 32К) несущественны, имхо, в обоих случаях. а если новичок запутается в составном операторе, он потратит больше процентов своих нервных клеток, что важнее, имхо.VladislavS писал(а):40 ассемблерных команд против 3?
похвальное желание. но штангисты начинают всегда с малого веса, хотя стремятся к рекордам.СКАЗОЧНИК писал(а):Но все равно, лучше привыкать к правильному сразу.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: STM32 новичку в ARM что к чему
[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3574877#p3574877"]Но все равно, лучше привыкать к правильному сразу. )))
[/uquote]
Только правильное у каждого своё. А жизнь коротка.)
Только правильное у каждого своё. А жизнь коротка.)
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
Всё гораздо проще. Когда пишешь на С/С++ какое-то выражение, то нужно понимать что оно делает и во что выливается в конечном счёте для микроконтроллера. Если этого понимания нет, то и появляются всякого рода "ни на что не влияет", "так понятнее" и т.д. А для этого понимания учиться надо, а не привыкать. Написал код, загляни в листинг, подумай...
[uquote="ARV",url="/forum/viewtopic.php?p=3574883#p3574883"]0,49% против 0,037% от имеющейся памяти (для примера взял 32К) несущественны, имхо, в обоих случаях.[/uquote]То есть, всего двести таких "удобных" обращений к регистрам и память тю-тю...
[uquote="ARV",url="/forum/viewtopic.php?p=3574883#p3574883"]0,49% против 0,037% от имеющейся памяти (для примера взял 32К) несущественны, имхо, в обоих случаях.[/uquote]То есть, всего двести таких "удобных" обращений к регистрам и память тю-тю...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
на определенном этапе опыта или в определенных условиях - да, это необходимо. особенно надо знать/понимать побочные эффекты, если они есть.VladislavS писал(а):Когда пишешь на С/С++ какое-то выражение, то нужно понимать что оно делает и во что выливается в конечном счёте для микроконтроллера.
на этапе обучения - не думаю.
тем более что разные версии компиляторов, тем более для разных платформ, особенно с разными режимами оптимизации дают настолько разный результат... что делает почти бесполезной "абстрактную ручную оптимизацию на ЯВУ".
Добавлено after 2 minutes 12 seconds:
так ведь всегда можно взять pin2pin совместимый МК с памятью побольше - они же копейки стоят!VladislavS писал(а):и память тю-тю...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: STM32 новичку в ARM что к чему
[uquote="VladislavS",url="/forum/viewtopic.php?p=3574856#p3574856"]А давай сравним
...
Доходчиво?[/uquote]
Владислав, вы читаете что я пишу? Во-первых я поправился тыц, во-вторых мне и без вас хорошо известно, что множественные and or гораздо дороже единичного and со множественным or, ну и в-третьих я предлагал сравнить &= ~( ... | ... | ...) с &= ~... | ~... | ~...) (кстати не утруждайтесь)
[uquote="VladislavS",url="/forum/viewtopic.php?p=3574871#p3574871"]Разберись уже что-ли: адрес, указатель или ссылка.
[/uquote]
По делу что-то будет чем вас не устроила моя запись?
И еще очень попрошу лично вас мне не тыкать.
...
Доходчиво?[/uquote]
Владислав, вы читаете что я пишу? Во-первых я поправился тыц, во-вторых мне и без вас хорошо известно, что множественные and or гораздо дороже единичного and со множественным or, ну и в-третьих я предлагал сравнить &= ~( ... | ... | ...) с &= ~... | ~... | ~...) (кстати не утруждайтесь)
[uquote="VladislavS",url="/forum/viewtopic.php?p=3574871#p3574871"]Разберись уже что-ли: адрес, указатель или ссылка.
По делу что-то будет чем вас не устроила моя запись?
И еще очень попрошу лично вас мне не тыкать.
Последний раз редактировалось pavell Чт фев 21, 2019 10:20:26, всего редактировалось 1 раз.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
вот я об этом и говорю: многие и не поймут, в чем тут подвох, особенно, если записать в столбик, как было показано ранее.pavell писал(а):сравнить &= ~( ... | ... | ...) с &= ~... | ~... | ~...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: STM32 новичку в ARM что к чему
ARV, если бы тебя сие интересовало не от желания устроить очередной срач...
Что значит не по теме?
Где здесь авр????????????????
Что значит не по теме?
Где здесь авр????????????????
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
[uquote="pavell",url="/forum/viewtopic.php?p=3574916#p3574916"]По делу что-то будет чем вас не устроила моя запись?[/uquote]
Вот этоТо же самое чтоК чему тут лишняя писанина?
Я на форуме на ты обращаюсь к людям, к которым у меня хорошее или нейтральное отношение. Всякие неадекваты, чаще всего, на вы. Выбирай.
Вот это
Код: Выделить всё
DMA1_Channel1->CMAR = (uint32_t)&buff[0];Код: Выделить всё
DMA1_Channel1->CMAR = (uint32_t)buff;Спойлер
[uquote="pavell",url="/forum/viewtopic.php?p=3574916#p3574916"]И еще очень попрошу лично вас мне не тыкать.[/uquote]Я на форуме на ты обращаюсь к людям, к которым у меня хорошее или нейтральное отношение. Всякие неадекваты, чаще всего, на вы. Выбирай.
Re: STM32 новичку в ARM что к чему
То есть в конечном итоге вас не устроила "лишняя писанина" из 4-х символов не влияющая ни на что? Ну ок, суть доёб "претензии" ясна
Re: STM32 новичку в ARM что к чему
pavell, пример кстати занятный. Если здесь вроде бы "безобидная" трата ресурсов и при ините нисколько не напрягает , то в SPL и калокубе это сплошь и рядом используется не только при ините но и при работе и выливается в ад и ужас.
И вынужден повторить - с каких привилегий, ARV пинающих всем с тем о авр, здесь пасется и пишет чушь????????
И вынужден повторить - с каких привилегий, ARV пинающих всем с тем о авр, здесь пасется и пишет чушь????????


