学前班
最后登录1970-1-1
在线时间 小时
注册时间2019-8-8
|
我把两个例程(显示部分和串口接受部分)合在了一起,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的显示函数连结在一起的,也就是想实现帖子题目上的功能,所以还想请各位大神帮我看看,到底哪里出现了问题。
|
|