问答

汇集网友智慧,解决技术难题

微凉4232

TA的家园币:28  

  • MM32系列的芯片能不能使用ISP方式进行烧录代码?

    MM32芯片能不能使用ISP引导程序(Bootload)通过USB/UART等接口进行烧录?ISP烧录步骤:厂家提供的BootLoader包含了串口下载的程序固件,可以通过这个BootLoader将程序下载到系统的Flash中。该下载方式需要以下步骤:Step1:将BOOT0设置为1,BOOT1设置为0,然后按下复位键,这样才能从系统存储器启动BootLoaderStep2:在BootLoader的帮助下,通过串口下载程序到Flash中Step3:程序下载完成后,又有需要将BOOT0设置为GND,手动复位,这样,STM32才可以从Flash中启动我在这个原理图上只看见了BOOT0,并没有看见BOOT1啊?我也不太清楚MM32SPIN系列的芯片里面有没有相关的Bootload固件源码进行实现?如果可以使用ISP方式下载需要怎么操作实现呢?

  • 灵动MM32SPIN0230板子里面的电机驱动代码解释

    staticinlinevoidMCFLIB_InvPark_S16(constMCFLIB_2_DQ_T_S16*psIn,constsAngle_Trig*psAnglePos,MCFLIB_2_ALBE_T_S16*psOut){registerQ31_ts16D;registerQ31_ts16Q;registerQ31_ts16Sin;registerQ31_ts16Cos;registerQ31_ts32Temp;/*Storevaluesforcalculation*/s16D=(psIn->s16D);s16Q=(psIn->s16Q);s16Sin=(psAnglePos->s16Sin);s16Cos=(psAnglePos->s16Cos);/*Calculatebeta=d*sin(theta)+q*cos(theta)*/s32Temp=(s16Cos*s16Q+s16Sin*s16D)>>15;psOut->s16Beta=(Q15_t)s32Temp;/*Calculatealpha=d*cos(theta)-q*sin(theta)*/s32Temp=((s16Cos*s16D)-(s16Sin*s16Q))>>15;psOut->s16Alpha=(Q15_t)s32Temp;}这里的s32Temp=(s16Cos*s16Q+s16Sin*s16D)>>15;代码为什么要进行右移十五位的操作呀?如果是匹配Q15_t数据类型的话,下面不就有个强转嘛,这里的>>15操作,有什么含义呀?初学,想请教各位大佬一下!!感谢!!