Вт июн 14, 2022 17:06:12
Вт июн 14, 2022 17:13:36
Вт июн 14, 2022 21:42:51
Вт июн 14, 2022 22:04:04
Ср июн 15, 2022 06:02:48
Ср июн 15, 2022 12:05:07
Ср июн 15, 2022 16:08:17
Ср июн 15, 2022 16:08:38
Программирование остаётся всё равно только под ресетом
Ср июн 15, 2022 18:38:56
Чт июн 16, 2022 10:00:32
Ср июн 22, 2022 18:22:26
Чт июн 30, 2022 10:59:17
Сб июл 02, 2022 12:37:59
Сб июл 02, 2022 12:52:24
Чт сен 22, 2022 21:30:07
void SPI2_IRQHandler(void){
uint16_t h;
uint32_t w;
h = SPI2->DR;
if(wi) {
wi = wi|h;
TIM1->CR1 = 0; TIM1->SR = 0; TIM1->DIER = 0;
SPI2->CR1 |= SPI_CR1_SSI; SPI2->CR2 = 0;
// uint32_t z,s;
// z=w; s=0;
// while (z){if (z&1) {s++;} z>>=1;}
// if (s&1) break;
// wi=0;
status |= 1;
}else{
if (adri==(h>>8)) wi =(h<<16);
else { // stop restart
TIM1->CR1 = 0; TIM1->SR = 0;
SPI2->CR1 |= SPI_CR1_SSI; SPI2->CR2 = 0;
TIM1->EGR = TIM_EGR_UG;
TIM1->DIER = TIM_DIER_CC3IE;
TIM1->CR1 |= TIM_CR1_CEN;
}
}
}
листинг начало:
0x08001D86 B4F0 PUSH {r4-r7}
0x08001D88 4810 LDR r0,[pc,#64] ; @0x08001DCC
0x08001D8A F8B0C000 LDRH r12,[r0,#0x00]
0x08001D8E 481B LDR r0,[pc,#108] ; @0x08001DFC
0x08001D90 6887 LDR r7,[r0,#0x08]
0x08001D92 4E1E LDR r6,[pc,#120] ; @0x08001E0C
0x08001D94 4A0E LDR r2,[pc,#56] ; @0x08001DD0
0x08001D96 2100 MOVS r1,#0x00
0x08001D98 4B0A LDR r3,[pc,#40] ; @0x08001DC4
0x08001D9A 1F35 SUBS r5,r6,#4
0x08001D9C 1D14 ADDS r4,r2,#4
0x08001D9E B3CF CBZ r7,0x08001E14
0x08001DA0 6887 LDR r7,[r0,#0x08]
0x08001DA2 EA470C0C ORR r12,r7,r12
0x08001DA6 F8C0C008 STR r12,[r0,#0x08]
0x08001DAA 8019 STRH r1,[r3,#0x00]
0x08001DAC 8031 STRH r1,[r6,#0x00]
0x08001DAE 8029 STRH r1,[r5,#0x00]
0x08001DB0 8813 LDRH r3,[r2,#0x00]
Пт сен 23, 2022 09:18:46
7: extern "C" void SPI2_IRQHandler(){
8: uint16_t h;
9: uint32_t w;
10: h = SPI2->DR;
0x080005E0 F6430000 MOVW r0,#0x3800
11: if(wi) {
0x080005E4 F6400190 MOVW r1,#0x890
0x080005E8 F2C40000 MOVT r0,#0x4000
0x080005EC F2C20100 MOVT r1,#0x2000
10: h = SPI2->DR;
11: if(wi) {
0x080005F0 68C2 LDR r2,[r0,#0x0C]
0x080005F2 880B LDRH r3,[r1,#0x00]
0x080005F4 B1C3 CBZ r3,0x08000628
12: wi = wi|h;
0x080005F6 880B LDRH r3,[r1,#0x00]
0x080005F8 431A ORRS r2,r2,r3
0x080005FA 800A STRH r2,[r1,#0x00]
0x080005FC F6424100 MOVW r1,#0x2C00
0x08000600 F2C40101 MOVT r1,#0x4001
0x08000604 2200 MOVS r2,#0x00
13: TIM1->CR1 = 0;
0x08000606 600A STR r2,[r1,#0x00]
14: TIM1->SR = 0;
0x08000608 610A STR r2,[r1,#0x10]
15: TIM1->DIER = 0;
0x0800060A 60CA STR r2,[r1,#0x0C]
16: SPI2->CR1 |= SPI_CR1_SSI; SPI2->CR2 = 0;
0x0800060C 6801 LDR r1,[r0,#0x00]
0x0800060E F4417180 ORR r1,r1,#0x100
0x08000612 6001 STR r1,[r0,#0x00]
0x08000614 6042 STR r2,[r0,#0x04]
17: status |= 1;
18: }else{
19: if (adri==(h>>8)) wi =(h<<16);
20: else { // stop restart
21: TIM1->CR1 = 0; TIM1->SR = 0;
22: SPI2->CR1 |= SPI_CR1_SSI; SPI2->CR2 = 0;
23: TIM1->EGR = TIM_EGR_UG;
24: TIM1->DIER = TIM_DIER_CC3IE;
25: TIM1->CR1 |= TIM_CR1_CEN;
26: }
27: }
0x08000616 F6400094 MOVW r0,#0x894
0x0800061A F2C20000 MOVT r0,#0x2000
0x0800061E 6801 LDR r1,[r0,#0x00]
0x08000620 F0410101 ORR r1,r1,#0x01
0x08000624 6001 STR r1,[r0,#0x00]
28: }
0x08000626 4770 BX lr
19: if (adri==(h>>8)) wi =(h<<16);
20: else { // stop restart
0x08000628 F6400398 MOVW r3,#0x898
0x0800062C F2C20300 MOVT r3,#0x2000
0x08000630 881B LDRH r3,[r3,#0x00]
0x08000632 F3C22207 UBFX r2,r2,#8,#8
0x08000636 429A CMP r2,r3
0x08000638 BF02 ITTT EQ
0x0800063A 2000 MOVEQ r0,#0x00
0x0800063C 8008 STRHEQ r0,[r1,#0x00]
0x0800063E 4770 BXEQ lr
0x08000640 F6424100 MOVW r1,#0x2C00
0x08000644 F2C40101 MOVT r1,#0x4001
0x08000648 2200 MOVS r2,#0x00
21: TIM1->CR1 = 0; TIM1->SR = 0;
0x0800064A 600A STR r2,[r1,#0x00]
0x0800064C 610A STR r2,[r1,#0x10]
22: SPI2->CR1 |= SPI_CR1_SSI; SPI2->CR2 = 0;
0x0800064E 6803 LDR r3,[r0,#0x00]
0x08000650 F4437380 ORR r3,r3,#0x100
0x08000654 6003 STR r3,[r0,#0x00]
0x08000656 6042 STR r2,[r0,#0x04]
0x08000658 2001 MOVS r0,#0x01
23: TIM1->EGR = TIM_EGR_UG;
0x0800065A 6148 STR r0,[r1,#0x14]
0x0800065C 2008 MOVS r0,#0x08
24: TIM1->DIER = TIM_DIER_CC3IE;
0x0800065E 60C8 STR r0,[r1,#0x0C]
25: TIM1->CR1 |= TIM_CR1_CEN;
26: }
27: }
0x08000660 6808 LDR r0,[r1,#0x00]
0x08000662 F0400001 ORR r0,r0,#0x01
0x08000666 6008 STR r0,[r1,#0x00]
28: }
0x08000668 4770 BX lr
0x0800066A 0000 MOVS r0,r0
Пт сен 23, 2022 17:42:42
Вс сен 25, 2022 22:38:00
TIM4->SR &= ~(0x01);
Вс сен 25, 2022 23:41:42
Пн сен 26, 2022 06:35:06