![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
STM32F103R8T6外置晶振:8MHz 驱动LCD12864(不带字库)晶振设置如何:void RCC_Configuration(void) RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET); FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); FLASH_SetLatency(FLASH_Latency_2); RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); FLASH_SetLatency(FLASH_Latency_2); FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); RCC_PLLCmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); while(RCC_GetSYSCLKSource()!=0x08); } STM32F103R8T6+显示屏,实时显示数据。 ATMEGA16外接16MHz晶振,驱动LCD12864(不带字库),实时显示数据 两种单片机的驱动LCD12864程序一样,实时显示的数据、程序也一样。ATMEGA16显示实时数值没有卡顿现象,很流畅。 反而STM32F103R8T6显示实时数值有卡顿现象,不流畅,感觉ATMEGA16的运行速度要比STM32F103R8T6快很多。 STM32F103R8T6和ATMEGA16的显示程序和驱动程序都是一样的,没说明什么区别。 我的理解应该是STM32F103R8T6外接8M晶振,然后倍频到72M,运行速度应该要比ATMEGA16的16M快很多才对,为什么反而慢很多?是我的晶振设置有问题吗??我之前都是用ATMEGA系类单片机,刚刚接触STM32F103,请各位指教一下? |
STTM32F105 使用freertos,系统起来后,无法进入HAL_PWR_EnterSTOPMode休眠
根据STM32芯片丝印二维码怎么知道芯片信息
STM32F103C8T6单片机PWM引脚输出问题
DMA和GPIO外部中断异常
STM32F103单片机PWM问题
请问各位前辈 , stm32cubeIDE 烧录报错Error! Failed to read target status 错误!读取目标器状态失败 ,需要怎么解决
stm32 usart+dma
stm32f103 usb iap
STM32F103 ADC利用DMA进行采样问题求解
各位大佬,那位知道stm32cubeied报:函数声明了未被调用警告怎么解决?(函数声明只是oled的显示功能)函数并没有语法错误
运行固件库方式的STM32F103的系统时钟配置需要把system_stm32f10x.c中的第115行的
/*#define SYSCLK_FREQ_72MHz 72000000*/
的注释去掉,否则可能只是运行在8MHZ
而在CubeMX的配置:
评分
查看全部评分
显示卡顿是程序问题。
你说的显示程序和驱动程序完全一样,这个不大可能,延时函数肯定不一样。STM32用IO模拟时序点屏的话,需要每个IO操作之间加点延时,否则IO可能跑乱。
评分
查看全部评分
只是延时程序不一样,但是延时时间是一样的!我认为不是程序的问题
我注释掉,在测试下
ATMEGA16是单周期指令,每条指令都是按顺序执行的;STM32带流水的,指令执行先后不一定,得中间加点延时才行。
如果程序写好的话,至少不会让你能感觉到流畅度不同。
终极方案,用逻辑分析仪抓一下,ATMEGA16和STM32操作LCD的管脚时序,对比一下。
评分
查看全部评分
然后用示波器抓LCD驱动引脚,比对两个版本的时序中的延时。
硬件变了,时序肯定是有差异的。你想要完全一致,肯定要调整延时之类的参数。毕竟指令周期不一样。
评分
查看全部评分
https://www.stmcu.org.cn/module/forum/?fromuid=3552542
点评