3048|10

19

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

uart相关 [复制链接]

2芯积分
大家好,我自己创建一个文件,复制模板上的学习板程序,拷贝进了inc,driverlib等,rebuild没有错误,导入flash后按lm3s板复位键可以在串口调试软件上看到输出,但不能自己输入字符,而且oled不显示,模板上可以啊,真心希望高手的解答,谢谢,本人菜鸟,用的是keil4,用的是ti的lm3s6965

[ 本帖最后由 huangzhiluo 于 2011-1-27 10:04 编辑 ]

最佳答案

查看完整内容

TI的模板没问题,我都试过了。最好把代码传上来,大家下载到板子上看现象一下,然后再分析

最新回复

  详情 回复 发表于 2011-1-27 20:33
 
点赞 关注

回复
举报

5015

帖子

12

TA的资源

裸片初长成(初级)

沙发
 
希望热心坛友解答,帮顶
 
 

回复

2641

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 
你这个问题没有说清楚,TI出厂的模板一般都是没有问题,你在串口接收下一个中断看看有没有显示,OLED上的显示你看看你改动哪里没有?多试几次就搞明白了
 
 
 

回复

545

帖子

0

TA的资源

一粒金砂(高级)

4
 
可以参看以前我弄的UART的模板。
https://bbs.eeworld.com.cn/thread-214040-1-1.html
 
 
 

回复

545

帖子

0

TA的资源

一粒金砂(高级)

5
 
TI的模板没问题,我都试过了。最好把代码传上来,大家下载到板子上看现象一下,然后再分析
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(初级)

6
 

uart代码

#include "inc/hw_ints.h" #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "driverlib/debug.h" #include "driverlib/gpio.h" #include "driverlib/interrupt.h" #include "driverlib/sysctl.h" #include "driverlib/uart.h" #include "drivers/rit128x96x4.h" #include "inc/lm3s6965.h" //***************************************************************************** // //! \addtogroup example_list //!

UART (uart_echo)

//! //! This example application utilizes the UART to echo text. The first UART //! (connected to the FTDI virtual serial port on the evaluation board) will be //! configured in 115,200 baud, 8-n-1 mode. All characters received on the //! UART are transmitted back to the UART. // //***************************************************************************** //***************************************************************************** // // The error routine that is called if the driver library encounters an error. // //***************************************************************************** #ifdef DEBUG void __error__(char *pcFilename, unsigned long ulLine) { } #endif //***************************************************************************** // // The UART interrupt handler. // //***************************************************************************** void UARTIntHandler(void) { unsigned long ulStatus; GPIO_PORTF_DATA_R &= ~(0x01); // // Get the interrrupt status. // ulStatus = UARTIntStatus(UART0_BASE, true); // // Clear the asserted interrupts. // UARTIntClear(UART0_BASE, ulStatus); // // Loop while there are characters in the receive FIFO. // while(UARTCharsAvail(UART0_BASE)) { // // Read the next character from the UART and write it back to the UART. // UARTCharPutNonBlocking(UART0_BASE, UARTCharGetNonBlocking(UART0_BASE)); } } //***************************************************************************** // // Send a string to the UART. // //***************************************************************************** void UARTSend(const unsigned char *pucBuffer, unsigned long ulCount) { // // Loop while there are more characters to send. // while(ulCount--) { // // Write the next character to the UART. // UARTCharPutNonBlocking(UART0_BASE, *pucBuffer++); } } //***************************************************************************** // // This example demonstrates how to send a string of data to the UART. // //***************************************************************************** int main(void) { // // Set the clocking to run directly from the crystal. // SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_8MHZ); // // Initialize the OLED display and write status. // RIT128x96x4Init(1000000); RIT128x96x4StringDraw("UART Echo", 36, 0, 15); RIT128x96x4StringDraw("Port: Uart 0", 12, 16, 15); RIT128x96x4StringDraw("Baud: 115,200 bps", 12, 24, 15); RIT128x96x4StringDraw("Data: 8 Bit", 12, 32, 15); RIT128x96x4StringDraw("Parity: None", 12, 40, 15); RIT128x96x4StringDraw("Stop: 1 Bit", 12, 48, 15); // // Enable the peripherals used by this example. // SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); // Enable the GPIO pin for the LED (PF0). Set the direction as output, and // enable the GPIO pin for digital function. // GPIO_PORTF_DIR_R = 0x01; GPIO_PORTF_DEN_R = 0x01; // Turn on the LED. // GPIO_PORTF_DATA_R |= 0x01; // // Enable processor interrupts. // IntMasterEnable(); // // Set GPIO A0 and A1 as UART pins. // GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1); // // Configure the UART for 115,200, 8-N-1 operation. // UARTConfigSetExpClk(UART0_BASE, SysCtlClockGet(), 115200, (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE)); // // Enable the UART interrupt. // IntEnable(INT_UART0); UARTIntEnable(UART0_BASE, UART_INT_RX | UART_INT_RT); // // Prompt for text to be entered. // UARTSend((unsigned char *)"Enter text: ", 12); // // Loop forever echoing data through the UART. // while(1) { } } 其实也没什么更改,就是加了灯,我把这个代码复制更改到keil打开ti提供的就行,自己新建文件夹加入inc等,出现了这些状况,是不是keil配置有问题还是没有生成某些文件啊
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(初级)

7
 

我没有更改oled显示程序,再说我也不会,嘿嘿

感谢楼上几位热心,多谢啦
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(初级)

8
 

可以在串口调试软件输入了,要复制它的startup_rvmdk.S才行,但oled还是不显示

希望各位高手帮忙啊
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(初级)

9
 

解决了,嘿嘿,谢谢2楼和3楼

囧囧
 
 
 

回复

1万

帖子

16

TA的资源

版主

10
 

串口中断没打开对吧,就是那个中断的相量

 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

19

帖子

0

TA的资源

一粒金砂(初级)

11
 

恩,是的

嘿嘿
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表