#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" unsigned char HDATA,LDATA; //***************************************************************************** float distance; main(void) {SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);GPIOPinConfigure(GPIO_PC4_U1RX);GPIOPinConfigure(GPIO_PC5_U1TX);//GPIOPinTypeUART(GPIO_PORTC_BASE, GPIO_PIN_4 | GPIO_PIN_5);//UARTConfigSetExpClk(UART1_BASE, SysCtlClockGet(), 9600,(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |UART_CONFIG_PAR_NONE)); UARTEnable(UART1_BASE); while(1) {UARTCharPut(UART1_BASE,'0x55'); HDATA=UARTCharGet(UART1_BASE);
LDATA=UARTCharGet(UART1_BASE);
distance=HDATA*256+LDATA; }
数据UARTCharGet(UART1_BASE);读不出来呀
xyz549040622:
UARTCharGet()应该是从串口读取数据吧,你串口有数据传过来才是可以读到的
user4994826:
回复 xyz549040622:
我拿逻辑分析仪看了 是有数据的 有没有可能是数据类型不同读不出来
user4994826:
回复 xyz549040622:
恩恩 我调了一天发现串口模式是插上跳帽 我一直用串口读电平模式的数据 所以啥都没有
太不仔细了。
xyz549040622:
回复 user4994826:
是呀,我们习惯性的碰到问题去检查软件的错误,却发现好多时候是硬件导致的。