初中生
最后登录1970-1-1
在线时间 小时
注册时间2019-3-26
|
我设置显示数据是小数点后三位,可屏幕显示的确是小数点后好几位,有时采集的数据,显示屏上也会出错。改了好长时间就是改不过来/。望指教。
int main(void)
{
char str1[8]={0};
char str2[8]={0};
char str3[6]={0};
unsigned char i;
LED_GPIO_Config(); /* LED³õʼ»¯ */
USART_Config(); /* ´®¿Ú³õʼ»¯ */
SysTick_Init(); /*³õʼ»¯ÑÓ³Ùº¯Êý*/
i2c_CfgGpio(); /*I2C×ÜÏßµÄGPIO³õʼ»¯*/
OLED_Init(); /* OLED³õʼ»¯ */
ADVANCE_TIM_Init(); //²¶»ñpwmµÄ
/*OLED¼ì²â²âÊÔ*/
while(1)
{
OLED_Fill(0xFF);//È«ÆÁµãÁÁ
Delay_s(2);
OLED_Fill(0x00);//È«ÆÁÃð
Delay_s(2);
for(i=0;i<2;i++)
{
OLED_ShowCN(0+i*16,0,i); //²âÊÔÏÔʾÖÐÎÄ
}
for(i=2;i<4;i++)
{
OLED_ShowCN(0+(i-2)*16,2,i);
}
for(i=4;i<7;i++)
{
OLED_ShowCN(0+(i-4)*16,4,i);
}
while(1)
{
sprintf(str1,"%.3f",Frequency); //这里出错
sprintf(str2,"%8d",pinlvalue); //这里出错
sprintf(str3,"%.3f",DutyCycle); //这里出错
OLED_ShowStr(33,0,(unsigned char*)str1,2);
OLED_ShowStr(33,2,(unsigned char*)str2,2);
OLED_ShowStr(49,4,(unsigned char*)str3,2);
Delay_ms(200);
printf("\r\n time value = %d \r\n",pinlvalue);
|
|