С одной стороны, как бы, да. Но я смотрю на осциллограмму и вижу,
что с нечётных адресов считываются нечётные данные. Но можно и
ассемблер, ессно. Убрал волатильности, от них тока гемор. Круто он
оптимизировал, есличо! Попробуем добавить волатильности.
908: 60002437 lui s0,0x60002
90c: 03000b93 li s7,48
TIM7->CTLR1|=TIM_CEN;
910: 0017e793 ori a5,a5,1
914: 40f71023 sh a5,1024(a4)
*pointer++=mask+i;
918: 03100b13 li s6,49
91c: 03200a93 li s5,50
920: 03300a13 li s4,51
924: 03400993 li s3,52
928: 03500913 li s2,53
92c: 03600493 li s1,54
mainWorkModeSelector();
930: 2285 jal a90 <mainWorkModeSelector>
*pointer++=mask+i;
932: 03700793 li a5,55
936: 1cf41723 sh a5,462(s0) # 600021ce <_eusrstack+0x3fffa1ce>
93a: 03800793 li a5,56
93e: 1cf41823 sh a5,464(s0)
942: 03900793 li a5,57
946: 1d741023 sh s7,448(s0)
94a: 1d641123 sh s6,450(s0)
94e: 1d541223 sh s5,452(s0)
952: 1d441323 sh s4,454(s0)
956: 1d341423 sh s3,456(s0)
95a: 1d241523 sh s2,458(s0)
95e: 1c941623 sh s1,460(s0)
962: 1cf41923 sh a5,466(s0)
wptr=(uint16_t *)(txtString3+beginOfTxtFieldForWorking);
for(i=0;i<10;i++)
{
buffer[i]=*wptr++;
}
KBDservice();
966: 3e5d jal 51c <KBDservice>
968: b7e1 j 930 <main+0x40>
-
- Добавил. Ничего сверхъестественного. mse homjak(1952 знак., 25.08.2024 22:03)