野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13157|回复: 0

新人求助,想将串口接受的数据显示到OLED屏幕上

[复制链接]
发表于 2019-8-9 00:38:02 | 显示全部楼层 |阅读模式
我把两个例程(显示部分和串口接受部分)合在了一起,main.c代码如下:
#include "stm32f10x.h"
#include "bsp_usart.h"
#include "bsp_adc.h"
#include "OLED_I2C.h"
#include "bsp_SysTick.h"   
void Delay(__IO uint32_t nCount)
{
  for(; nCount != 0; nCount--);
}
uint8_t ucTemp;
uint8_t uc;
uint8_t ucT;
unsigned int i,j,k,qq,bz;
int key;
unsigned char table[][20]={"0","1","2","3","4","5","6","7","8","9","."," ","-"};
void DEBUG_USART_IRQHandler(void)
{
        if(USART_GetITStatus(DEBUG_USARTx,USART_IT_RXNE)!=RESET)
        {               
                ucTemp = USART_ReceiveData(DEBUG_USARTx);
    USART_SendData(DEBUG_USARTx,ucTemp);        
        }         
}


int main(void)
{        

        Delay(0x0daaee);
        qq=1;
        key=2;
        SysTick_Init();   
        I2C_Configuration();
        OLED_Init();   
        OLED_CLS();
          USART_Config();
                OLED_CLS();//ÇåÆá
        while (1)
        {
                OLED_ON();
                uc=ucTemp;
          key=((int)uc)-48;
    OLED_ShowStr(38,3,(unsigned char*)table[key],1);        
                Delay(1000);
        }
}


这种时候不能正常显示,也不能串口收发数据。

但是我将main函数的while(1)函数中的“uc=ucTemp;”去掉,就能够正常与PC收发数据,且屏幕也能显示。可是可以看到“uc=ucTemp;”这条语句是我想将串口的数据和
OLED的显示函数连结在一起的,也就是想实现帖子题目上的功能,所以还想请各位大神帮我看看,到底哪里出现了问题。
回复

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 14:23 , Processed in 0.028536 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表