ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1458827 Топик полностью
mse homjak (25.08.2024 21:59, просмотров: 106) ответил Nikolay_Po на Осталось приложить ассемблер после компилятора с этого места...
С одной стороны, как бы, да. Но я смотрю на осциллограмму и вижу, что с нечётных адресов считываются нечётные данные. Но можно и ассемблер, ессно. Убрал волатильности, от них тока гемор. Круто он оптимизировал, есличо! Попробуем добавить волатильности. 
     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>