This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
我在 TIVAC TM4C123G 中练习 UART1,因此当我在 Keil 中加载程序时, 该板 已进行编程,没有错误,我看到终端串行的结果,很好,但当我这样做时。
想在 tivac 中加载其他程序,Keil 向我显示此错误、警告...
因此、我无法在我的 Tiva 中加载程序... 这实际上是设置。
当我设置 UART1并意外调用函数时、我犯了如下错误:
void inituart( void ){
三、会议的报告 SYSCTl->RCGC1 = 0x02; // UART 1.
三、会议的报告 sysctl->RCGC2|=0x04; //端口 c
三、会议的报告 GPIO->AFSEL=0x30; //更改函数 UART1 PC5 PC4
三、会议的报告 GPIO->PCTL=0x220000; //多路复用器功能2 en 5 2 en 4
三、会议的报告 GPIO->DEN=0x30;//引脚5引脚4 3 2 1 0
//配置 de la UART
三、会议的报告 UART1->CTL&&~0x01;// UART 0ff
//波特
三、会议的报告 UART1->IBRD=104; // 9600 baudios 80M 520 16M 104 +0.166666
三、会议的报告 UART1->FBRD=10; // 9600 baudios 80M 53 16M 10.
三、会议的报告 UART1->LCRH=0x70;// 8位正常
三、会议的报告 UART1->CTL|=0x01;// UART 打开
}
int main (void){
三、会议的报告 config();
三、会议的报告 inituart();
三、会议的报告 sprintf (&Buffer[0]、"Hello World");
三、会议的报告 while (1){
三、会议的报告 GPIOF->DATA= 0x08;
三、会议的报告 writePort (&Buffer[0]);
三、会议的报告 delay();
三、会议的报告 GPIOF->DATA= 0x00;
三、会议的报告 delay();
........................................................................ }//结束 while 循环
}//结束 main
空 writePort (char *缓冲区){
三、会议的报告 whil(*Buffer!= NULL ){
三、会议的报告 putC(*Buffer);
三、工作安排 Buffer++;
..........................................................................}
}
void putC (char c){
……………… while ((UART1->FR & 0x20)==1);
……………… UART1->DR=c;
}
在这最后一个条件下,while 循环中的值必须 是**** while ((UART1->FR & 0x20)!= 0);*****
我认为 我修改了 JTAG 调试... ( PORTC )
我在编程时曾考虑过使用 LM 闪存编程器、但我没有经验.....
那么,有人能帮我吗? 谢谢