- 打卡等级:初来乍到
- 打卡总天数:1
- 最近打卡:2024-07-03 08:37:21
新手上路
- 积分
- 32
|
发表于 2024-7-3 08:57:57
|
显示全部楼层
void PWMA_config(void)
{
u8 ps;
P_SW2 |= 0x80; //SFR enable
P2M1 = 0x00;
P2M0 = 0x00;
PWMA_PSCR = 0; // Ô¤·ÖƵ¼Ä´æÆ÷, ·ÖƵ Fck_cnt = Fck_psc/(PSCR[15:0]+1), ±ßÑØ¶ÔÆëPWMƵÂÊ = SYSclk/((PSCR+1)*(AAR+1)), ÖÐÑë¶ÔÆëPWMƵÂÊ = SYSclk/((PSCR+1)*(AAR+1)*2).
PWMA_DTR = 0; // ËÀÇøÊ±¼äÅäÖÃ, n=0~127: DTR= n T, 0x80 ~(0x80+n), n=0~63: DTR=(64+n)*2T,
// 0xc0 ~(0xc0+n), n=0~31: DTR=(32+n)*8T, 0xE0 ~(0xE0+n), n=0~31: DTR=(32+n)*16T,
PWMA_ARR = 0xffff; // ×Ô¶¯ÖØ×°ÔؼĴæÆ÷, ¿ØÖÆPWMÖÜÆÚ
PWMA_CNTR = 0; //ÇåÁã±àÂëÆ÷¼ÆÊýÆ÷Öµ
PWMA_SR1 = 0;
PWMA_SR2 = 0;
PWMA_PS = 0;
PWMA_ENO = 0; //IO½ûÖ¹Êä³öPWM, bit7: ENO4N, bit6: ENO4P, bit5: ENO3N, bit4: ENO3P, bit3: ENO2N, bit2: ENO2P, bit1: ENO1N, bit0: ENO1P
ps = 0;
PWMA_ISR_En = 0;
PWMA_CCMR1 = 0x01+(10<<4); // ͨµÀ1ģʽÅäÖÃ, ÅäÖóÉÊäÈëͨµÀ, 0~15¶ÔÓ¦ÊäÈëÂ˲¨Ê±ÖÓÊý: 1 2 4 8 12 16 24 32 48 64 80 96 128 160 192 256
PWMA_CCMR2 = 0x01+(10<<4); // ͨµÀ2ģʽÅäÖÃ, ÅäÖóÉÊäÈëͨµÀ, 0~15¶ÔÓ¦ÊäÈëÂ˲¨Ê±ÖÓÊý: 1 2 4 8 12 16 24 32 48 64 80 96 128 160 192 256
PWMA_SMCR = 2; // ±àÂëÆ÷ģʽ, ģʽ1»òģʽ2: ÿ¸öÂö³åÁ½¸ö±ßÑØ¼Ó¼õ2. ģʽ3: ÿ¸öÂö³åËĸö±ßÑØ¼Ó¼õ4.
PWMA_CCER1 = 0x55; // ÅäÖÃͨµÀÊäÈëʹÄܺͼ«ÐÔ, ÔÊÐíÊäÈë, ϽµÑØ
ps |= 0; // Ñ¡ÔñIO, 0:Ñ¡ÔñP1.0 P1.1, 1:Ñ¡ÔñP2.0 P2.1, 2:Ñ¡ÔñP6.0 P6.1,
ps |= (0<<2); // Ñ¡ÔñIO, 0:Ñ¡ÔñP1.2 P1.3, 1:Ñ¡ÔñP2.2 P2.3, 2:Ñ¡ÔñP6.2 P6.3,
PWMA_ISR_En|= 0x02; // ʹÄÜÖжÏ
PWMA_CCR3 = 100; // ¼ÆÊýÆ÷±È½ÏÖµ(ÉèÖÃÒ»¸öÂö³åÊý), Æ¥Åäʱ¿Ì
PWMA_CCMR3 = (3<<4); // ͨµÀ1ģʽÅäÖÃ, ½ûÖ¹Ô¤×°ÔØ. 0: ÎÞÊä³ö, 1:Æ¥ÅäʱÊä³ö¸ß, 2:Æ¥ÅäʱÊä³öµÍ, 3:Æ¥ÅäʱÊä³ö·×ª.
PWMA_CCER2 = 0x01; // ²¶»ñ/±È½ÏʹÄܼĴæÆ÷2
PWMA_PS = ps; // Ñ¡ÔñIO
PWMA_ISR_En|= 0x08; // ʹÄÜÖжÏ
PWMA_IER = PWMA_ISR_En; //ÉèÖÃÔÊÐíͨµÀ1~4Öжϴ¦Àí
PWMA_CR1 = 0x01; // ʹÄܼÆÊýÆ÷, ÔÊÐí×Ô¶¯ÖØ×°ÔؼĴæÆ÷»º³å, ±ßÑØ¶ÔÆëģʽ, ÏòÉϼÆÊý, bit7=1:д×Ô¶¯ÖØ×°ÔؼĴæÆ÷»º³å(±¾ÖÜÆÚ²»»á±»´òÈÅ), =0:Ö±½Óд×Ô¶¯ÖØ×°ÔؼĴæÆ÷±¾(ÖÜÆÚ¿ÉÄÜ»áÂÒµô)
} |
|