173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

stm32f1和f4驱动lcd刷新速度

keros@mark 2023-03-19 资讯中心

stm32中的步进电机驱动和lcd显示问题

用定时器1产生脉冲给步进电机驱动器驱动步进电机转用,然后用滴嗒定时器中断,过100MS或若干MS更新LCD显示数值。篇幅有限,只粘贴部份代码,芯片是stm32 F103ZEt6

int main(void)

{

/* 复位所有外设,初始化Flash接口和系统滴答定时器 */

HAL_Init();

/* 配置系统时钟 */

SystemClock_Config();

BSP_LCD_Init();

KEY_GPIO_Init();

STEPMOTOR_TIMx_Init();

LCD_Clear(0,0,LCD_DEFAULT_WIDTH,LCD_DEFAULT_HEIGTH,BLACK);

/* 开背光 */

LCD_BK_ON();

/* 无限循环 */

while (1)

{

if(KEY1_StateRead()==KEY_DOWN)

STEPMOTOR_AxisMoveRel(6400*-5, 500 , 500 , 4000);

if(KEY2_StateRead()==KEY_DOWN)

STEPMOTOR_AxisMoveRel(6400*5, 500 , 500 , 4000);

}

}

void HAL_SYSTICK_Callback(void)

{

time_count++; // 每1ms自动增一

if(time_count==100) // 0.5s

{

uint8_t str[50];

sprintf((char *)str,"%d",srd.step_delay);//显示定时器计数值

LCD_Clear(120,300,200,24,BLACK);

LCD_DispString_EN(120,300,(char *)str,BLACK,RED,USE_FONT_24);

sprintf((char *)str,"%d",step_position/6400); //显示总共多少圈

LCD_Clear(120,400,200,24,BLACK);

LCD_DispString_EN(120,400,(char *)str,BLACK,RED,USE_FONT_24);

time_count=0;

if(MotionStatus==STOP)

{

LCD_Clear(120,430,200,24,BLACK);

LCD_DispString_EN(120,430,"motro is stop",BLACK,RED,USE_FONT_24);

sprintf((char *)str,"%d",srd.decel_val/6400); //显示减速有多少圈

LCD_Clear(120,430+24,200,24,BLACK);

LCD_DispString_EN(120,430+24,(char *)str,BLACK,RED,USE_FONT_24);

}

else

{

LCD_Clear(120,430,200,24,BLACK);

LCD_DispString_EN(120,430,"motro is running",BLACK,RED,USE_FONT_24);

sprintf((char *)str,"%d",0);

LCD_Clear(120,430+24,200,24,BLACK);

LCD_DispString_EN(120,430+24,(char *)str,BLACK,RED,USE_FONT_24);

}

}

}

STM32 驱动LCD屏的相关问题

从51移植到STM32上的代码如果是IO模拟各种接口(看你代码就是IO模拟的)

那最需要注意的就是延时,在51里IO操作的延时你要知道大概是多久

移植到STM32上需要设定成一样的时间,因为二者的主频不一样,同样的延时函数延时时间差了太多。

然后看看各个IO的时钟是不是开启了,输出形式对不对,应该就这些。

STM32F1和STM32F4 区别

u F1采用Crotex M3内核,F4采用Crotex M4内核。u F1最高主频 72MHz, F4最高主频168MHz。u F4具有单精度浮点运算单元,F1没有浮点运算单元。u F4的具备增强的DSP指令集。F4的执行16位DSP指令的时间只有F1的30%~70%。F4执行32位DSP指令 的时间只有F1的25%~60%。u F1内部SRAM最大64K字节, F4内部SRAM有192K字节(112K+64K+16K)。u F4有备份域SRAM(通过Vbat供电保持数据),F1没有备份域SRAM。u F4从内部SRAM和外部FSMC存储器执行程序的速度比F1快很多。F1的指令总线I-Bus只接到Flash上,从SRAM和FSMC取指令只能通过S-Bus,速度较慢。F4的I-Bus不但连接到Flash上,而且还连接到SRAM和FSMC上,从而加快从SRAM或FSMC取指令的速度。u F1最大封装为144脚,可提供112个GPIO;F4最大封装有176脚,可提供140个GPIO。u F1的GPIO的内部上下拉电阻配置仅仅针对输入模式有用,输出时无效。而F4的GPIO在设置为输出模式时,上下拉电阻的配置依然有效。即F4可以配置为开漏输出,内部上拉电阻使能,而F1不行。u F4的GPIO最高翻转速度为84MHz,F1最大翻转速度只有18MHz。u F1最多可提供5个UART串口,F4最多可以提供6个UART串口。u F1可提供2个I2C接口,F4可以提供3个I2C接口。u F1和F4都具有3个12位的独立ADC,F1可提供21个输入通道,F4可以提供24个输入通道。F1的ADC最大采样频率为1Msps,2路交替采样可到2Msps(F1不支持3路交替采样)。F4的ADC最大采样频率为2.4Msps,3路交替采样可到7.2Msps。u F1只有12个DMA通道,F4有16个DMA通道。F4的每个DMA通道有4*32位FIFO,F1没有FIFO。u F1的SPI时钟最高速度为 18MHz, F4可以到37.5MHz。u F1没有独立的32位定时器(32位需要级联实现),F4的TIM2和TIM5具有32位上下计数功能。u F1和F4都有2个I2S接口,但是F1的I2S只支持半双工(同一时刻要么放音,要么录音),而F4的I2S支持全双工,放音和录音可以同时进行

STM32驱动TFT液晶,刷屏慢,瓶颈是SPI FLASH,怎么破

如果是TFTLCD模块的话,在工程里面添加lcd.c和lcd.h,在进行初始化编写相应代码

STM32F4和F1PWM配置有什么区别

1.STM32F103性能特点 :ARM Cortex-M3内核的32位微控制器72MHz CPU;多达20K字节SRAM ;2x12位ADC 温度传感 ;PWM;定时器; CAN ;USB

2. dsp2812 即 TMS320F2812数字信号处理器是TI公司最新推出的32位定点DSP;

4K 16 Boot ROM,

18K 16 RAM,

128K 16 Flash;12位ADC内核

3.两者价钱不一样,2812要贵些,芯片的引脚多,那功能也多。数值处理能力强,例如谐波处理,就要利用傅里叶变换,一般的单片机就无法满足实时性。2812有150M,很快的。

其实,不管你学哪个,只要学好,都有用的。

本文标签:stm32f1和f4驱动lcd刷新速度

产品列表
产品封装
友情链接