关于stm32的使用HAL库编写
在关于OLED 屏
/* USER CODE BEGIN 2 */
OLED_Init();
OLED_Clear();
在Whlie中加入
sprintf((char *)A," Data ");
OLED_ShowStr(50,0,(unsigned char *)A,2);
sprintf((char *)B," CNBR : %d ",CNBR);
OLED_ShowStr(20,2,(unsigned char *)B ,2);
sprintf((char *)C," VNBR : %d ",VNBR);
OLED_ShowStr(20,4,(unsigned char *)C,2);
sprintf((char *)D," IDLE : %d ",IDLE);
OLED_ShowStr(20,6,(unsigned char *)D,2);
可以显示
但是加按键判断OLED不显示
while (1)
{ static uint8_t value;
if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0)==GPIO_PIN_RESET)
{
value = 1;
}
else if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1)==GPIO_PIN_RESET)
{
value = 2;
}
else if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_10)==GPIO_PIN_RESET)
{
value = 3;
}
else if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_11)==GPIO_PIN_RESET)
{
value = 4;
}
else value=0;
return value;
if(page == 1)
{
sprintf((char *)A," Data ");
OLED_ShowStr(50,0,(unsigned char *)A,2);
sprintf((char *)B," CNBR : %d ",CNBR);
OLED_ShowStr(20,2,(unsigned char *)B ,2);
sprintf((char *)C," VNBR : %d ",VNBR);
OLED_ShowStr(20,4,(unsigned char *)C,2);
sprintf((char *)D," IDLE : %d ",IDLE);
OLED_ShowStr(20,6,(unsigned char *)D,2);
}
else
{
sprintf((char *)E," Para ");
OLED_ShowStr(50,0,(unsigned char *)E,3);
sprintf((char *)F," CNBR : %f ",free_CNBR);
OLED_ShowStr(20,2,(unsigned char *)F,2);
sprintf((char *)H," VNBR : %f ",free_VNBR);
OLED_ShowStr(20,4,(unsigned char *)H,2);
}
sprintf((char *)M,"%d ",uart_index);
OLED_ShowStr(20,5,(unsigned char *)M,2);
sprintf((char *)M,"TEST ");
OLED_ShowStr(20,5,(unsigned char *)Y,2);
//
//
Key_Value = value;
Key_Down = Key_Value&(Key_Value^Key_Old);
Key_Up = ~Key_Value&(Key_Value^Key_Old);
Key_Old = Key_Value;
if(Key_Down == 1)
{
HAL_Delay(100);
OLED_Clear();
if(page == 1)
{
page = 2;
}
else
{
page = 1;
}
}
else if(Key_Down == 2)
// {
可以指正下吗/万分谢谢!