程序是仿照TIVAWARE的串口例程,这样写怎么会说没有定义呢?
求解啊?
louyj:
检查一下你的管脚是否进行了初始化了。
zz f:
回复 louyj:
我使用TIVAWARE的例程也是一样的报错
//*****************************************************************************//// uart_polled.c – Example demonstrating UART polled I/O.//// Copyright (c) 2010-2014 Texas Instruments Incorporated. All rights reserved.// Software License Agreement// // Redistribution and use in source and binary forms, with or without// modification, are permitted provided that the following conditions// are met:// // Redistributions of source code must retain the above copyright// notice, this list of conditions and the following disclaimer.// // Redistributions in binary form must reproduce the above copyright// notice, this list of conditions and the following disclaimer in the// documentation and/or other materials provided with the // distribution.// // Neither the name of Texas Instruments Incorporated nor the names of// its contributors may be used to endorse or promote products derived// from this software without specific prior written permission.// // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.// // This is part of revision 2.1.0.12573 of the Tiva Firmware Development Package.////*****************************************************************************
#include <stdbool.h>#include <stdint.h>#include "inc/hw_memmap.h"#include "driverlib/gpio.h"#include "driverlib/pin_map.h"#include "driverlib/sysctl.h"#include "driverlib/uart.h"
//*****************************************************************************////! \addtogroup uart_examples_list//! <h1>UART Polled I/O (uart_polled)</h1>//!//! This example shows how to set up the UART and use polled I/O methods//! for transmitting and receiving UART data. The example receives characters//! from UART0 and retransmits the same character using UART0. It can be//! tested by using a serial terminal program on a host computer. This//! example will echo every character that is type until the return/enter key//! is pressed.//!//! This example uses the following peripherals and I/O signals. You must//! review these and change as needed for your own board://! – UART0 peripheral//! – GPIO Port A peripheral (for UART0 pins)//! – UART0RX – PA0//! – UART0TX – PA1////*****************************************************************************
//*****************************************************************************//// Configure the UART and perform reads and writes using polled I/O.////*****************************************************************************intmain(void){ char cThisChar;
// // Set the clocking to run directly from the external crystal/oscillator. // TODO: The SYSCTL_XTAL_ value must be changed to match the value of the // crystal on your board. // SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);
// // Enable the peripherals used by this example. // The UART itself needs to be enabled, as well as the GPIO port // containing the pins that will be used. // SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
// // Configure the GPIO pin muxing for the UART function. // This is only necessary if your part supports GPIO pin function muxing. // Study the data sheet to see which functions are allocated per pin. // TODO: change this to select the port/pin you are using // GPIOPinConfigure(GPIO_PA0_U0RX); GPIOPinConfigure(GPIO_PA1_U0TX);
// // Since GPIO A0 and A1 are used for the UART function, they must be // configured for use as a peripheral function (instead of GPIO). // TODO: change this to match the port/pin you are using // GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
// // Configure the UART for 115,200, 8-N-1 operation. // This function uses SysCtlClockGet() to get the system clock // frequency. This could be also be a variable or hard coded value // instead of a function call. // UARTConfigSetExpClk(UART0_BASE, SysCtlClockGet(), 115200, (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));
// // Put a character to show start of example. This will display on the // terminal. // UARTCharPut(UART0_BASE, '!');
// // Enter a loop to read characters from the UART, and write them back // (echo). When a line end is received, the loop terminates. // do { // // Read a character using the blocking read function. This function // will not return until a character is available. // cThisChar = UARTCharGet(UART0_BASE);
// // Write the same character using the blocking write function. This // function will not return until there was space in the FIFO and // the character is written. // UARTCharPut(UART0_BASE, cThisChar); } while((cThisChar != '\n') && (cThisChar != '\r'));
// // Put a character to show the end of the example. This will display on // the terminal. // UARTCharPut(UART0_BASE, '@');
// // Return no errors // return(0);}
谁能告诉我问题到底出错在哪里?真的是快晕了。
zz f:
回复 zz f:
求德仪公司给个解释。
为什么俩个工程一样的配置,一样的代码。UART_TEST有编译成功过,之后又编译报出上面的错误。CCSV6难道有BUG.实在受不了了。希望德仪员工可以看到这个帖子。
TI中文支持网
我使用TIVAWARE的例程也是一样的报错
为什么俩个工程一样的配置,一样的代码。UART_TEST有编译成功过,之后又编译报出上面的错误。CCSV6难道有BUG.实在受不了了。希望德仪员工可以看到这个帖子。
