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.

[参考译文] Tiva c launchpad TM4C123G 发出使用调试加载程序的命令

Guru**** 2201760 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/782983/tiva-c-launchpad-tm4c123g-issue-to-load-the-program-using-debug

大家好、

我在 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 闪存编程器、但我没有经验.....

那么,有人能帮我吗? 谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Javier、

    我不熟悉 Keil、但总的来说、听起来好像您锁定了器件。 您可以使用 LM 闪存编程器解锁 LaunchPad。 转至"其他实用程序"并使用 TM4C MCU 的"调试端口解锁"功能。 严格按照步骤操作、然后您的电路板应该是可编程的。

    此外、在您这么做之后、请确保从 http://www.ti.com/tool/SW-TM4C 下载 TivaWare 并使用它。 使用我们的 TivaWare API,您不会轻易地锁定您的 MCU:)-此外,我们不支持直接寄存器编程,因此如果遇到任何其他问题,您将需要使用 TivaWare。