国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

��ã��gӭ���������зf���¿Ƽ����޹�˾��
�Z��
��ǰλ�ã���� >> MM32/�`��΢��� >> MM32SPIN2x 늙CMCU������ɫ:Ӳ���������cӲ��

MM32SPIN2x 늙CMCU������ɫ:Ӳ���������cӲ��

���ߣ� ��Դ: �l(f��)���r�g��2018-12-27  �g�[��47

��һ�¹�(ji��)���ѽ�(j��ng)�̴�����ʹ��MM32SPIN2x��PWM���������ƹ��ܣ����¹�(ji��)���c���һ������Ӳ����������Ӳ���_������



�������_���Ƿdz����ĕr�g���\�㣬����늙C�����㷨�����˳�����ƽ�����\����늙C�\����ʹ���l���^�ߡ��������MCU�Ĺ���Ч����MM32SPIN2x�˃�(n��i)ǶӲ��32bitӲ����������32bitӲ���˷��������Ԅӈ�(zh��)���з�̖��32λ����(sh��)�˳������_��̖�\����Ӳ���\���������ˑ�(y��ng)�ó����Ч�ʣ��p���˴��a�\���������ܛ�����������ض����}Ӌ���ٶȸ��죬λ��������



����ʹ��һ���������ʹ��Ӳ����������Ӳ���_���M���\����



Ӳ��������Ԫ��������32λ�Ĵ������Ă���(sh��)��(j��)�Ĵ����քe�鱻����(sh��)������(sh��)���̺�����(sh��)���Լ�һ�����ƼĴ�����һ����B(t��i)�Ĵ�������ʹ�Õr���ȴ��_Ӳ���������r�ʹ�ܣ�Ȼ�����ÿ��ƼĴ���(HWDIV_CR)�x���Ƿ�ʹ�ܳ�������Д���Пo��̖������Ȼ����������(sh��)�Ĵ����ͳ���(sh��)�Ĵ����Ќ��딵(sh��)��(j��)��ÿһ�Ό������(sh��)�Ĵ��������Ԅ��|�l(f��)�����\�������\��Y(ji��)�������Y(ji��)�������뵽�̺�����(sh��)�Ĵ����������\��δ�Y(ji��)��ǰ�x�̼Ĵ���������(sh��)�Ĵ������ߠ�B(t��i)�Ĵ������x����������ͣ��ֱ���\��Y(ji��)���ŕ������\��Y(ji��)�����؄e�����������(sh��)���㣬���a(ch��n)������Д���־λ���Ĵ���Ԕ�����xՈ����MM32SPIN2x_p�Ñ��փԡ�



Ӳ����������ʼ���������£�

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_HWDIV, ENABLE); //ʹ�ܳ������r�

HWDIV->DIVCON |= (DIV_UNSIGN ); //�o��̖��������ʹ�ܳ����Д�



������CӲ����������Ч������������(sh��)�зքeʹ��Ӳ����������ܛ���������M��16�γ����\������ʹ��while�Ǟ��˱�������ָ��ռ�Õr�g��



������(sh��)���£�

u32 DVD_data[32] = {

0x12345678,0x9876554 ,0x9822346 ,0x98734662,

0x000001 ,0xFFFFFFFF,0x11111111,0x22222222,

0x33333333,0x78645323,0x4399039 ,0x4367464 ,

0x42345678,0x9873554 ,0x9822346 ,0x98734662,

0x100001 ,0x1FFFFFFF,0x11511111,0x22422222,

0x53333333,0x78645323,0x4399039 ,0x4367464 ,

0x140001 ,0x11FFFFFF,0x12111111,0x29422222,

0x53333333,0x78644323,0x4369039 ,0x4767464 ,

};

u32 DVS_data[32] = {

0x11,0x22,0x33,0x44,

0x55,0x66,0x77,0x88,

0x99,0xaa,0xbb,0xcc,

0xdd,0xee,0xff,0xee,

0xdd,0xcc,0xbb,0xaa,

0x99,0x88,0x77,0x66,

0x55,0x44,0x33,0x22,

0x11,0x22,0x33,0x44,

};//����(sh��)��(sh��)�M

u32 result[32];

int main (void)

{

u32 i ;

IO_Init();

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_HWDIV, ENABLE);

HWDivider_UnsignInit();

while(1)

{

GPIOB->ODR ^= 1<<5;

GPIOB->ODR ^= 1<<5;

//Ӳ���������\��

SET_HWDivider(DVD_data[0],DVS_data[0]);

result[0] = GET_HWDivider;

SET_HWDivider(DVD_data[1],DVS_data[1]);

result[1] = GET_HWDivider;

SET_HWDivider(DVD_data[2],DVS_data[2]); result[2] = GET_HWDivider;

SET_HWDivider(DVD_data[3],DVS_data[3]);

result[3] = GET_HWDivider;

SET_HWDivider(DVD_data[4],DVS_data[4]);

result[4] = GET_HWDivider;

SET_HWDivider(DVD_data[5],DVS_data[5]);

result[5] = GET_HWDivider;

SET_HWDivider(DVD_data[6],DVS_data[6]);

result[6] = GET_HWDivider;

SET_HWDivider(DVD_data[7],DVS_data[7]);

result[7] = GET_HWDivider;

SET_HWDivider(DVD_data[8],DVS_data[8]);

result[8] = GET_HWDivider;

SET_HWDivider(DVD_data[9],DVS_data[9]);

result[9] = GET_HWDivider;

SET_HWDivider(DVD_data[10],DVS_data[10]);

result[10] = GET_HWDivider;

SET_HWDivider(DVD_data[11],DVS_data[11]);

result[11] = GET_HWDivider;

SET_HWDivider(DVD_data[12],DVS_data[12]);

result[12] = GET_HWDivider;

SET_HWDivider(DVD_data[13],DVS_data[13]);

result[13] = GET_HWDivider;

SET_HWDivider(DVD_data[14],DVS_data[14]);

result[14] = GET_HWDivider;

SET_HWDivider(DVD_data[15],DVS_data[15]);

result[15] = GET_HWDivider;

GPIOB->ODR ^= 1<<5;

GPIOB->ODR ^= 1<<5;

i = 1000;while(i--);

GPIOB->ODR ^= 1<<5;

GPIOB->ODR ^= 1<<5;

//ܛ���������\��

result[0] = DVD_data[0]/DVS_data[0];

result[1] = DVD_data[1]/DVS_data[1];

result[2] = DVD_data[2]/DVS_data[2];

result[3] = DVD_data[3]/DVS_data[3];

result[4] = DVD_data[4]/DVS_data[4];

result[5] = DVD_data[5]/DVS_data[5];

result[6] = DVD_data[6]/DVS_data[6];

result[7] = DVD_data[7]/DVS_data[7];

result[8] = DVD_data[8]/DVS_data[8];

result[9] = DVD_data[9]/DVS_data[9];

result[10] = DVD_data[10]/DVS_data[10];

result[11] = DVD_data[11]/DVS_data[11];

result[12] = DVD_data[12]/DVS_data[12];

result[13] = DVD_data[13]/DVS_data[13];

result[14] = DVD_data[14]/DVS_data[14];

result[15] = DVD_data[15]/DVS_data[15];

GPIOB->ODR ^= 1<<5;

GPIOB->ODR ^= 1<<5;

i = 1000;while(i--);

}

}



Ӳ���������M��16�γ����\���Õr6.52us(96MHz)��





�D1 Ӳ��������32�γ����\��



ܛ���M��32�γ����\���Õr42.29us(96MHz)��



�D2 ܛ��32�γ����\��



�_���\����늙C��������Ҳ�dz���Ҋ������ʸ���ϳɺ͞V�����֡�MM32SPIN2xϵ���Ԏ�Ӳ���_����֧��32λ�o��̖����(sh��)���_ƽ����



Ӳ���_��������1��32λ���_���Ĵ�����1��16λ��ƽ�����Ĵ��������ǟo��̖����(sh��)��ÿһ�Ό��뱻�_���Ĵ��������Ԅӳ����_���\�㣬���\��Y(ji��)�������Y(ji��)�������뵽ƽ�����Ĵ�����������ڽY(ji��)��ǰ�xƽ�����Ĵ������x����������ͣ��ֱ���Y(ji��)���ŷ����\��Y(ji��)����



Ӳ���_���������ØO�了�Σ�ֻ����_Ӳ���_�����ĕr犺������\��r���뱻�_����(sh��)���ɡ�ܛ���\��ʹ��C�Z���Ԏ���math.h�е�sqrt()�_ƽ������(sh��)��



u32 HWROOT_data[32] = {

0x12345678,0x9876554 ,0x9822346 ,0x98734662,

0x000001 ,0xFFFFFFFF,0x11111111,0x22222222,

0x33333333,0x78645323,0x4399039 ,0x4367464 ,

0x42345678,0x9873554 ,0x9822346 ,0x98734662,

0x100001 ,0x1FFFFFFF,0x11511111,0x22422222,

0x53333333,0x78645323,0x4399039 ,0x4367464 ,

0x140001 ,0x11FFFFFF,0x12111111,0x29422222,

0x53333333,0x78644323,0x4369039 ,0x4767464 ,

};//���_����(sh��)��(sh��)�M

u32 result[32]; //�̺�����(sh��)

int main (void)

{

u32 i ;

IO_Init();

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_HWROOT,ENABLE);

while(1)

{

GPIOB->ODR ^= 1<<5;

GPIOB->ODR ^= 1<<5;

//Ӳ���_���\��

HWROOT->SQR = HWROOT_data[0];

result[0] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[1] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[2] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[3] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[4] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[5] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[6] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[7] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[8] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[9] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[10] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[11] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[12] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[13] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[14] = HWROOT->ROOT;

HWROOT->SQR = HWROOT_data[0];

result[15] = HWROOT->ROOT;

GPIOB->ODR ^= 1<<5;

GPIOB->ODR ^= 1<<5;

i = 1000;while(i--);



GPIOB->ODR ^= 1<<5;

GPIOB->ODR ^= 1<<5;

result[0] = sqrt(HWROOT_data[0]);//ܛ���_���\��

result[1] = sqrt(HWROOT_data[1]);

result[2] = sqrt(HWROOT_data[2]);

result[3] = sqrt(HWROOT_data[3]);

result[4] = sqrt(HWROOT_data[4]);

result[5] = sqrt(HWROOT_data[5]);

result[6] = sqrt(HWROOT_data[6]);

result[7] = sqrt(HWROOT_data[7]);

result[8] = sqrt(HWROOT_data[8]);

result[9] = sqrt(HWROOT_data[9]);

result[10] = sqrt(HWROOT_data[10]);

result[11] = sqrt(HWROOT_data[11]);

result[12] = sqrt(HWROOT_data[12]);

result[13] = sqrt(HWROOT_data[13]);

result[14] = sqrt(HWROOT_data[14]);

result[15] = sqrt(HWROOT_data[15]);

GPIOB->ODR ^= 1<<5;

GPIOB->ODR ^= 1<<5;

i = 1000;while(i--);

}

}

Ӳ���_������(zh��)��16���_���\���Õr5.44us(96MHz)��



�D�� Ӳ���_��32���_���\��



ܛ����(zh��)��16���_���\���Õr238.22us(96MHz)��



�D�� ܛ��32���_���\��



�ɴ˿�Ҋ��Ӳ����������Ӳ���_���������\���ٶ�������MCUؓ�������ИO���@�������á�

��݋��admin  ����޸ĕr�g��2018-12-27

“(li��n)ϵ��ʽ

0755-82591179

���棺0755-82591176

�]�䣺vicky@yingtexin.net

��ַ�����������A�^(q��)���νֵ����δ��973�f�����S��(chu��ng)�I(y��)�@A��2��A08

Copyright © 2014-2023 �f���¿Ƽ����޹�˾ All Rights Reserved.  ��ICP��14043402̖-4

深圳市市场监督管理局企业主体身份公示