-
zhouyuwen@hrbeu 回答了该问题
-
zchong 回答了该问题
-
wang6623 回答了该问题
-
PY32F002A内部时钟校正问题 sos
PY32F002A15TSSOP20的使用HAL_RCC_OscConfig(),HAL_RCC_ClockConfig()配置时钟为内部24Mhz时钟,后通过TIM1发出1khz波,其频率大约为998Hz,内部时钟源校准寄存器(RCC_ICSCR)显示:时钟频率校准值。软件通过读出存放在information区相应地址的数据,写入该寄存器,实现HSI特定输出频率下的校准。保存在Flash的如下地址内:24MHz校准值存放地址:0x1FFF0F108MHz校准值存放地址:0x1FFF0F04我试过在时钟配置完成后,直接读取该值写入校正寄存器内,反而偏差变大了(不知道读取的值对不对)请问校正内部24Mhz时钟是在配置后自动进行的?还是只能手动进行?如果是手动进行校正,flash需要解锁后读吗?
2260浏览 0回复 7关注 -
stm32与matlab通讯问题 sos
目标想实现将单片机采集的数据发送到电脑上(上位机),然后用matlab进行接收并保存显示数据。单片机主要用的sprintf将double数据转成字符,然后通过DMA发送matlab主要运用的是serialport函数设置串口,read函数读取数据,然后接收到的ASCII转化一下保存目前存在的问题是,matlab运行接收一段时间后会停住,等待数据传过来,但单片机那一端的运行程序是正常的,一直在采集。不知道具体是什么原因。想问问大佬们有没有相关的经验和建议。本人通讯这一块不是很熟悉,如果有其他好的实现方法也可以。急!!
4910浏览 0回复 7关注 -
stm32单片机与matlab的通讯问题 sos
目标想实现将单片机采集的数据发送到电脑上(上位机),然后用matlab进行接收并保存显示数据。单片机主要用的sprintf将double数据转成字符,然后通过DMA发送matlab主要运用的是serialport函数设置串口,read函数读取数据,然后接收到的ASCII转化一下保存目前存在的问题是,matlab运行接收一段时间后会停住,等待数据传过来,但单片机那一端的运行程序是正常的,一直在采集。不知道具体是什么原因。想问问大佬们有没有相关的经验和建议。本人通讯这一块不是很熟悉,如果有其他好的实现方法也可以。急!!
5165浏览 0回复 7关注 -
no such file or directory sos
debug调试时出现错误nosuchfileordirectory,但可以在项目资源管理器中能找到这个文件,并且release时可以编译各位大佬怎么解决
2245浏览 0回复 7关注 -
R2D2 回答了该问题
-
shenxiaolin 回答了该问题
-
t1ngus4 回答了该问题
-
十个太阳 回答了该问题
-
stm32来按键控制步进电机,发现电机一得电就一直转 sos
我使用stm32来按键控制步进电机,本意是想按一次键,电机就整步n次,但是一按键,这个角度就一直转,变化幅度挺慢的,观察角度变化,有种在零点几反复跳的感觉,但是整体是增加的。以下是主函数和步进电机的封装函数###NextPage[title=主函数]###u8KeyNum;intmain(){KEY_Init();KEY_GetNum();Motor_Init();while(1){KeyNum=KEY_GetNum();if(KEY_GetNum()==8){Motor_RotateByStep(Foreward,1000,5);Motor_Stop();}}###NextPage[title=步进电机]###uint8_tSTEP;//用于存储电机正在走过的整步编号voidMotor_Init(void){//选择PB7,PB6,PB5,PB4分别为相A,B,C,D的输出GPIO_InitTypeDefGPIO_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStruct.GPIO_Pin=Motor_A1|Motor_B1|Motor_C1|Motor_D1;GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStruct);GPIO_ResetBits(GPIOB,Motor_A1|Motor_B1|Motor_C1|Motor_D1);}voidMotor_SingleStep(uint8_tStepNum,uint16_tDelay_Time_xms){switch(StepNum){case0://AGPIO_WriteBit(GPIOB,Motor_A1,Bit_SET);GPIO_WriteBit(GPIOB,Motor_B1|Motor_C1|Motor_D1,Bit_RESET);break;case1://BGPIO_WriteBit(GPIOB,Motor_B1,Bit_SET);GPIO_WriteBit(GPIOB,Motor_A1|Motor_C1|Motor_D1,Bit_RESET);break;case2://CGPIO_WriteBit(GPIOB,Motor_C1,Bit_SET);GPIO_WriteBit(GPIOB,Motor_A1|Motor_B1|Motor_D1,Bit_RESET);break;case3://DGPIO_WriteBit(GPIOB,Motor_D1,Bit_SET);GPIO_WriteBit(GPIOB,Motor_A1|Motor_B1|Motor_C1,Bit_RESET);break;default:break;}delay_ms(Delay_Time_xms);//延时,控制电机速度//Motor_Stop();//断电,防止电机过热}voidMotor_RotateByStep(RotDirectiondirection,uint32_tstep,uint16_tDelay_Time_xms){for(uint32_ti=0;i<step;i++){if(direction==Foreward)//电
1752浏览 0回复 7关注
没有更多了

问答