|
来段代码先:-
- u16 tempqq;
- //初始化USRT (9600,8,n,1)
- void UARTInit(void)
- {
- u8 dummy = 0;//初始化串口使用的临时变量
- dummy = UART1->SR;
- dummy = UART1->DR;
- //使用内部高速时钟HSI 16MHz 波特率9600 UART_DIV = 16000000/9600 = 0683H
- UART1->BRR2 = 0x03;
- UART1->BRR1 = 0x68; /*< Set Baud rate = 9600 @16MHz */
- UART1->CR1 = UART1_CR1_RESET_VALUE; /*< Set UART1_CR1 to reset value 0x00 */
- UART1->CR2 = 0x0c; /*< Set UART1 T/R enable */
- UART1->CR3 = UART1_CR3_RESET_VALUE; /*< Set UART1_CR3 to reset value 0x00 */
- UART1->CR4 = UART1_CR4_RESET_VALUE; /*< Set UART1_CR4 to reset value 0x00 */
- UART1->CR5 = UART1_CR5_RESET_VALUE; /*< Set UART1_CR5 to reset value 0x00 */
- UART1->GTR = UART1_GTR_RESET_VALUE;
- UART1->PSCR = UART1_PSCR_RESET_VALUE;
- }
-
- void main(void)
- {
- CLKInit();//时钟初始化
- GPIOInit();//端口初始化
- UARTInit();//UART1初始化
- tempqq = 10000;
- while(tempqq--);//<--------------注意这里,这时,编译器那个忙啊.....
- enableInterrupts();
- while (1)
- {
- }
复制代码
在main中,
while(tempqq--);//<--------------注意这里,这时,编译器那个忙啊.....
然而,把这个循环放到UART1初始化代码中或UART1初始化代码前面就可以顺利编译.
|
|