完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我使用STM32F103ZET6驱动串口屏幕显示,但是调试很多次均无法显示。屏幕和电脑连接可以显示,说明屏幕完好。求大神帮忙指导一下程序哪里有问题。
#include "stm32f10x.h" #include "USART.H" void USART_CONFIG() { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; USART_ClockInitTypeDef USART_ClockInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO|RCC_APB2Periph_USART1, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //GPIOA的第9口设置为复用输出,50MHz GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //GPIOA的第10口设置为上拉输入,50MHz GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN_FLOAtiNG;; //☆ GPIO_Init(GPIOA,&GPIO_InitStructure); USART_ClockInitStructure.USART_Clock = USART_Clock_Disable;// USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low; USART_ClockInitStructure.USART_CPHA = USART_CPHA_2Edge; USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable; USART_ClockInit(USART1,&USART_ClockInitStructure); USART_InitStructure.USART_BaudRate = 115200; //设置串口通信时的波特率115200 USART_InitStructure.USART_WordLength = USART_WordLength_8b; //设置数据位的长度8个位 USART_InitStructure.USART_StopBits = USART_StopBits_1; //设置1个停止位 USART_InitStructure.USART_Parity = USART_Parity_No ; //设置校验位“无” USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; //设置硬件控制流失能 USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //设置发送使能,接收使能 USART_Init(USART1, &USART_InitStructure); //将以上赋完值的结构体带入库函数USART_Init进行初始化 USART_ClearFlag(USART1, USART_IT_RXNE); //清除中断,以防启动中断后立即产生中断 USART_ITConfig(USART1,USART_IT_RXNE,ENABLE); //使能串口1接收中断 USART_ITConfig(USART1, USART_IT_TC, ENABLE); USART_Cmd(USART1, ENABLE); //开启USART1,注意与上面RCC_APB2PeriphClockCmd()设置的区别 #include "stm32f10x.h" #include "USART.H" #include "stm32f10x_it.h" #include "stdio.h" #include "USART.H" void init(void); void NVIC_CONFIG(void); void GpuSend(char * str); void NVIC_CONFIG() { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; //配置串口中断 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //抢占优先级设置0 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //响应优先级设置1 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); } void init() { NVIC_CONFIG(); USART_CONFIG(); } void GpuSend(char * buf1) { u8 i=0; while (1) { if (buf1!=0) { USART_SendData(USART1, buf1); //发送一个byte到串口 while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET){}; //等待发送结束 i++; } else return ; } } int main(void) { // u8 cn; init(); GpuSend("CLS(0);"); GpuSend("DS64(120,2,'Usart-GPU 串口液晶屏 ',2);"); GpuSend("PL(0,90,853,90,15);"); GpuSend("SNF(200,70);"); GpuSend("DS32(40,100,'出品:ApacheCtl',13);"); GpuSend("DS32(410,100,'网站:http://www.A-Diy.cn',13);"); GpuSend("BS24(10,140,810,4,' 本页面可自由由上位机软件定义,具体资料以及程序请去网站下载。',7);"); GpuSend("BS24(10,170,810,4,' 静等10秒,演示开始;此间如有串口命令,则自动进入命令处理状态。',7);"); GpuSend("DS12(0,232,' 串口最早是给超级终端使用的,意思是访问控制,输入一条命令,服',15);"); GpuSend("BS12(0,248,390,4,'务方返回该命令的应答;目前已广泛应用到各个系统中,单片机也普遍支持。',15);"); GpuSend("DS12(0,280,' 如今,我们使用该协议,用单片机通过串口将显示命令发给串口屏,',15);"); GpuSend("DS12(0,296,'即可完成显示;在设计上,我们采用了串口直接传输命令字符串的方式,',15);"); GpuSend("DS12(0,312,'而非16进制编码的方式,非常方便人类阅读,不需要再在单片机中封装相',15);"); GpuSend("DS12(0,328,'应的函数来方便记忆;也就是说,任何单片机只要您可以通过串口输出字',15);"); GpuSend("DS12(0,344,'符串,就可以使用本串口屏。',15);"); GpuSend("DS12(0,360,' 如果您不是用带有触摸屏等反馈屏幕,单纯显示的话,只需要一根线,',15);"); GpuSend("SPG(2);"); GpuSend("rn"); } } |
|
相关推荐
1个回答
|
|
那你需要看看,用的是RS232还是TTL电平。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
787 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
1476 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1216 浏览 0 评论
900 浏览 0 评论
963 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11867 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 13:14 , Processed in 0.536889 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号