Пишут, непредсказуемо. Хочет мигает, не хочет не мигает. Все просто.
И краем глаза достаточно, чтобы держаться подальше от такого.
Да ладно! Может быть в ИАРе есть навигация по коду "Ctrl-Click", которая практически во всех IDE (кроме ардуино) есть?! Может быть, в ИАРе список ошибок выдается отдельно от вообще всех сообщений, и не надо что-то там прокручивать, когда исправляешь их?! И еще есть парочка милых нюансиков, от которых тошнит...smacorp писал(а):Нет плохих средств разработки у крупных компаний.
недавно - это лет 10 тому назад. А ИАР не смог...HardWareMan писал(а):И лишь относительно недавно они прикрутили Ctrl+Click
я уважаю честность. и стараюсь быть честным сам.tonyk писал(а):Поэтому я никогда не буду отвечать на вопросы ARV, но с удовольствие буду его подкалывать.
То есть вам цинично вытирать об людей ноги можно, но когда вам указывают на это, тоARV писал(а):и не важно, по какой причине
Думаю, местные обитатели сделают выводы о вашем поведении.ARV писал(а):на подколки буду отвечать грубо
не так. логика у вас хромает: устареть знания могут лишь в том случае, если они имеются. для новичка любые знания новые.HardWareMan писал(а):Ведь так?
ну и об кого я ноги вытер, умник? пока ты молчал, я тебя не трогал. тем, кто мне помог, я сказал спасибо. чего тебе неймется-то?tonyk писал(а):То есть вам цинично вытирать об людей ноги можно
много лет назад я поменял свою аватарку в знак признания заслуг "местных обитателей". эти обитатели, вроде тебя, пуканы свои чуть ли не до белого каления тогда довели, требуя от меня уважения. ну и где они сейчас?tonyk писал(а):Думаю, местные обитатели сделают выводы о вашем поведении
Код: Выделить всё
#define GET_BIT(AREA, ADDR, BIT) *(__IO unsigned *)(AREA ## _BB_BASE + 32 * ((unsigned)&ADDR - AREA ## _BASE) + 4 * __builtin_ctz(BIT))
#define READ_MEM_BIT(VAR, BIT) GET_BIT(SRAM, VAR, BIT)
#define WRITE_MEM_BIT(VAR, BIT, VAL) READ_MEM_BIT(VAR, BIT) = VAL
#define SET_MEM_BIT(VAR, BIT) WRITE_MEM_BIT(VAR, BIT, 1)
#define CLEAR_MEM_BIT(VAR, BIT) WRITE_MEM_BIT(VAR, BIT, 0)
#define TOGGLE_MEM_BIT(VAR, BIT) READ_MEM_BIT(VAR, BIT) ^= 1
#define READ_REG_BIT(REG, BIT) GET_BIT(PERIPH, REG, BIT)
#define WRITE_REG_BIT(REG, BIT, VAL) READ_REG_BIT(REG, BIT) = VAL
#define SET_REG_BIT(REG, BIT) WRITE_REG_BIT(REG, BIT, 1)
#define CLEAR_REG_BIT(REG, BIT) WRITE_REG_BIT(REG, BIT, 0)
#define TOGGLE_REG_BIT(REG, BIT) READ_REG_BIT(REG, BIT) ^= 1
Код: Выделить всё
for(;;) {
TOGGLE_REG_BIT(GPIOC->ODR, GPIO_ODR_ODR13);
080001E4 F8D2 31B4 LDR.W R3, [R2, #0x01B4]
080001E8 F083 0301 EOR R3, R3, #1
080001EC F8C2 31B4 STR.W R3, [R2, #0x01B4]
DELAY_MS(500);
080001F0 6923 LDR R3, [R4, #16]
080001F2 F44F 73FA MOV.W R3, #0x01F4
080001F6 6921 LDR R1, [R4, #16]
080001F8 EBB3 4311 SUBS.W R3, R3, R1, LSR #16
080001FC D0F2 BEQ 0x080001E4 ; <main>+0x4C
080001FE E7FA B 0x080001F6 ; <main>+0x5E
}вроде ж нету в g4 ничего такого? f3, напротив, все ок.Adrift писал(а):Не особо актуально. Если убрать старье, то остается STM32G4 и, с натяжкой, STM32F3, на которых бит-бендинг с портами не работает.
вроде ж нету в g4 ничего такого? f3, напротив, все ок.[/uquote]Adrift писал(а):Не особо актуально. Если убрать старье, то остается STM32G4 и, с натяжкой, STM32F3, на которых бит-бендинг с портами не работает.
Код: Выделить всё
//int main()
//{
main:
MOV R0,#+8192
LDR.N R1,??main_0
// for (;;)
// GPIO::PC_13::toggle();
??main_1:
LDR R3,[R1, #+0]
LSLS R2,R3,#+18
ITE PL
STRPL R0,[R1, #+4]
STRMI R0,[R1, #+8]
B.N ??main_1
Nop
DATA
??main_0:
DATA32
DC32 0x4001100c
//}