Calibrated delayMs and delayUs on MK22FN512xx MCU

replace/3ac9b8d4827c15e2870f11acf923da6b76caf896
Silvano Seva 2020-12-28 11:58:33 +01:00
rodzic efb235ae4e
commit 5581276ec5
1 zmienionych plików z 2 dodań i 2 usunięć

Wyświetl plik

@ -25,7 +25,7 @@ void delayUs(unsigned int useconds)
{ {
// This delay has been calibrated to take x microseconds // This delay has been calibrated to take x microseconds
// It is written in assembler to be independent on compiler optimization // It is written in assembler to be independent on compiler optimization
asm volatile(" mov r1, #42 \n" asm volatile(" mov r1, #24 \n"
" mul r2, %0, r1 \n" " mul r2, %0, r1 \n"
" mov r1, #0 \n" " mov r1, #0 \n"
"___loop_u: cmp r1, r2 \n" "___loop_u: cmp r1, r2 \n"
@ -36,7 +36,7 @@ void delayUs(unsigned int useconds)
void delayMs(unsigned int mseconds) void delayMs(unsigned int mseconds)
{ {
register const unsigned int count=42000; register const unsigned int count=30000;
for(unsigned int i=0;i<mseconds;i++) for(unsigned int i=0;i<mseconds;i++)
{ {