模擬串口輸出

  最近在調試hardfault handler輸出日誌信息時候得到了Vincent幫助,感謝函數

 

       

1 void Delay_UART5(uint16_t cnt)
2 {
3     for(;cnt;cnt--);
4 }
 1 //void HardFault_Handler(void)        //uart5 38400
 2 //{
 3 //    
 4 //    uint32_t addrbegin=__get_MSP() ;                    //???·?·
 5          uint32_t  addr;
 6 //    uint8_t i, j, str;
 7 //    uint16_t loopcnt=0;
 8 //    
 9 ////    USART3->CR1 &=~ (1<<7);
10 ////    GPIOB->CRH &= 0xFFFF00FF;                    //uart 3,PB10,PB11
11 ////    GPIOB->CRH |= 0x00004100;
12 ////    GPIOB->BSRR |= (0x0001<<10);
13 //
14 //    UART5->CR1 &=~ (1<<7);
15 //     GPIOC->CRH &= 0xFFF0FFFF;                    //uart 5,PC12TX,PD2RX
16 //    GPIOC->CRH |= 0x10000;
17 //    GPIOC->BSRR |= (0x0001<<12);
18 //
19 //    while(1)
20 //    {
21 //        Delay_UART5(7969);
22 //        loopcnt++;
23 //        GPIOC->BSRR |= (0x0001<<12);
24 //        
25 //        if(loopcnt > 3000)
26 //        {
27 //            
28 //            addr= addrbegin+0x30;
29 //            loopcnt=0;
30 //            for(i=0; i<255; i++)
31 //            {
32 //                
33 //                str= (*(uint8_t*) addr--);
34 //
35 //                if(i>250)
36 //                    str = '\r';
37 //                
38 //            //    Delay_UART5(1076*4);    //9600
39 //            //    Delay_UART5(1076);        //38400
40 //            //    Delay_UART5(818);
41 //            Delay_UART5(1000);
42 //
43 //                GPIOC->BRR |= (0x0001<<12);
44 //            //            Delay_UART5(1076);                            //usart end
45 //            //         Delay_UART5(269);
46 //            //        Delay_UART5(205);
47 //                     Delay_UART5(260);
48 //
49 //                for(j=0; j<8; j++)
50 //                {
51 //                    if((str&(0x01<<j)))
52 //                        GPIOC->BSRR |= (0x0001<<12);
53 //                    else
54 //                        GPIOC->BRR |= (0x0001<<12);
55 //            //            Delay_UART5(1076);                            //usart end
56 //           //          Delay_UART5(269);
57 //                      //        Delay_UART5(205);
58 //                     Delay_UART5(260);
59 //                }
60 //                GPIOC->BSRR |= (0x0001<<12);
61 //            //        Delay_UART5(1076*2);                            //usart end
62 //            //     Delay_UART5(538);
63 //            //     Delay_UART5(410);
64 //                      ;Delay_UART5(500);
65 //            }
66 //        }
67 //    }
68 //}

會有兩個問題:1,延時函數須要調節,延時要在26us,不一樣模塊都要調oop

  2,進入後去SP的值時候由於變量等緣由SP的地址已經改變了ui

相關文章
相關標籤/搜索