【无标题】杰理sdk timer5定时计数器的配置 捕获高低电平的时间 方便计算波形的 频率和周期 占空比

淘宝网店
https://item.taobao.com/item.htm?ft=t&id=631235203678
红外协议 用户码00FF 码值0X65 在这里插入图片描述

杰理sdk timer5的配置 捕获高低电平的时间 计算频率和周期 配置定时器1ms 100us 已红外接收为列子 其他波形参考

红外 00FF 码值0X65
开启测试 一个周期能的高低电平
打印波特率设置高点 不然打印不全数据
红外协议 9ms低+4.5ms高+用户码+数据码+数据反码

杰理sdk timer5配置 捕获高低电平方式 配置定时器1ms

定时器时钟12mhz 16分屏 配置 1ms
#define control 0 // 0 开启测试低电平捕获 1高低都捕获
#define APP_TIMER_CLK 12000000L //pll12m
#define TIMER_UNIT_MS 1
#define MAX_TIME_CNT 0x07ff //分频准确范围,更具实际情况调整
#define MIN_TIME_CNT 0x0030
void set_ir_clk(void)
{
u32 prd_cnt;
u8 index;
// for (index = 0; index < (sizeof(timer_div) / sizeof(timer_div[0])); index++)
//{
prd_cnt = TIMER_UNIT_MS * (APP_TIMER_CLK / 1000) / timer_div[2];
// prd_cnt = APP_TIMER_CLK/timer_div[4];
// if (prd_cnt > MIN_TIME_CNT && prd_cnt < MAX_TIME_CNT) {
// break;
// }
// }
ir_code.timer_pad = prd_cnt ; //1ms750 100us 75
cmp_start = 0;

request_irq(IR_IRQ_TIME_IDX, 5, timer_ir_isr, 0);

// IR_TIME_REG->CON = ((index << 4) | BIT(3) | BIT(1) | BIT(0));//选择osc时钟 */
JL_IOMAP->CON0 |= BIT(21);//这里已选了timer5,时钟源选io信号里的pll_12m,不是所有的timer都可选pll,修改请看文档
IR_TIME_REG->CON = ((2 << 4) | BIT(2) | BIT(1) |BIT(0));

}
void timer_ir_isr(void)
{
IR_TIME_REG->CON |= BIT(14);
u16 bCap1 = IR_TIME_REG->PRD;

IR_TIME_REG->CNT = 0;
u8 cap = bCap1 / ir_code.timer_pad = ;//ir_code.timer_pad =750

ir_code.boverflow = 0;

if (cmp_start < 3) {
   return;
}
static u8 cnt,cnt1;

#if 1
// putchar(‘0’ + (cap/10));
//putchar(‘0’ + (cap%10));

if (cap <= 1) {
    ir_code.wData >>= 1;
    ir_code.bState++;
} else if (cap == 2) {
    ir_code.wData >>= 1;
    ir_code.wData |= 0x8000;
    ir_code.bState++;
}

if (ir_code.bState == 16) {
    ir_code.wUserCode = ir_code.wData;
	
}
if (ir_code.bState == 33) 
{
    ir_code.bState = 1;

}

#endif
#if 0
if(IR_TIME_REG->CON &0x01)
{

		     printf("cnt %d,+bcap %d,cap%d ",cnt++,bCap1,cap );
			  IR_TIME_REG->CON&=~0X01; //先对01取反 1111 1110 再与 只有最低位按位与其他值不变
		  
		  
		  }
		 else
		  {
	  
			IR_TIME_REG->CON|=0X01;
			  
    
     printf("cnt %d,-bcap %d ,cap%d",cnt++,bCap1,cap );
	  }
	 
   
 
#else
  
printf("cnt %d,-bcap %d ,cap%d",cnt++,bCap1,cap );

#endif

}

cnt 捕获次数 ,
-bcap bCap1的捕获计数 ,
cap 一个周期内的计数值 1ms 配置定时器初值初始750
定时1ms 的串口数据如下

这里是配置成 低电平捕获 标准杰理sdk 红外协议
cnt 0,-bcap 24944 ,cap33
cnt 1,-bcap 10204 ,cap 13
cnt 2,-bcap 836 ,cap1
cnt 3,-bcap 847 ,cap1
cnt 4,-bcap 855 ,cap1
cnt 5,-bcap 855 ,cap1
cnt 6,-bcap 847 ,cap1
cnt 7,-bcap 852 ,cap1
cnt 8,-bcap 847 ,cap1
cnt 9,-bcap 840 ,cap1
cnt 10,-bcap 1703 ,cap2
cnt 11,-bcap 1703 ,cap2
cnt 12,-bcap 1695 ,cap2
cnt 13,-bcap 1688 ,cap2
cnt 14,-bcap 1703 ,cap2
cnt 15,-bcap 1703 ,cap2
cnt 16,-bcap 1703 ,cap2
cnt 17,-bcap 1703 ,cap2
cnt 18,-bcap 1703 ,cap2
cnt 19,-bcap 847 ,cap1
cnt 20,-bcap 1703 ,cap2
cnt 21,-bcap 855 ,cap1
cnt 22,-bcap 847 ,cap1
cnt 23,-bcap 855 ,cap1
cnt 24,-bcap 1695 ,cap2
cnt 25,-bcap 854 ,cap1
cnt 26,-bcap 813 ,cap1
cnt 27,-bcap 1695 ,cap2
cnt 28,-bcap 855 ,cap1
cnt 29,-bcap 1703 ,cap2
cnt 30,-bcap 1703 ,cap2
cnt 31,-bcap 1695 ,cap2
cnt 32,-bcap 855 ,cap1
cnt 33,-bcap 1703 ,cap2
tkey : 0x69
tkey : 0x69
tkey : 0x69
tkey : 0x69
cnt 34,-bcap 30095 ,cap40
tkey : 0x69
cnt 35,-bcap 8511 ,cap11
tkey : 0x69

占空比 = 高电平/周期*100%
定时1ms 高低电平都捕获一次
这里开启得到高电平 低电平捕获的时间 可以计算频率
打开 control 宏
cnt 0,cap52,bcap139528/n,
cnt 1,cap9,bcap16876/n,
cnt 2,cap4,bcap13331/n,
cnt 3,cap0,bcap1463/n,
cnt 4,cap0,bcap1390/n,
cnt 5,cap0,bcap1426/n,
cnt 6,cap0,bcap1389/n,
cnt 7,cap0,bcap1416/n,
cnt 8,cap0,bcap1379/n,
cnt 9,cap0,bcap1414/n,
cnt 10,cap0,bcap1377/n,
cnt 11,cap0,bcap1412/n,
cnt 12,cap0,bcap1358/n,
cnt 13,cap0,bcap1367/n,
cnt 14,cap0,bcap1313/n,
cnt 15,cap0,bcap1331/n,
cnt 16,cap0,bcap1276/n,
cnt 17,cap0,bcap1294/n,
cnt 18,cap0,bcap1240/n,
cnt 19,cap0,bcap1250/n,
cnt 20,cap1,bcap11051/n,
cnt 21,cap0,bcap1438/n,
cnt 22,cap1,bcap11223/n,
cnt 23,cap0,bcap1455/n,
cnt 24,cap1,bcap11233/n,
cnt 25,cap0,bcap1463/n,
cnt 26,cap1,bcap11239/n,
cnt 27,cap0,bcap1463/n,
cnt 28,cap1,bcap11239/n,
cnt 29,cap0,bcap1463/n,
cnt 30,cap1,bcap11239/n,
cnt 31,cap0,bcap1463/n,
cnt 32,cap1,bcap11239/n,
cnt 33,cap0,bcap1463/n,
cnt 34,cap1,bcap11239/n,
cnt 35,cap0,bcap1419/n,
cnt 36,cap1,bcap11205/n,
cnt 37,cap0,bcap1455/n,
cnt 38,cap0,bcap1385/n,
cnt 39,cap0,bcap1403/n,
cnt 40,cap1,bcap11196/n,
cnt 41,cap0,bcap1463/n,
cnt 42,cap0,bcap1391/n,
cnt 43,cap0,bcap1402/n,
cnt 44,cap0,bcap1356/n,
cnt 45,cap0,bcap1365/n,
cnt 46,cap0,bcap1311/n,
cnt 47,cap0,bcap1321/n,
cnt 48,cap1,bcap11122/n,
cnt 49,cap0,bcap1455/n,
cnt 50,cap0,bcap1385/n,
cnt 51,cap0,bcap1403/n,
cnt 52,cap0,bcap1348/n,
cnt 53,cap0,bcap1358/n,
cnt 54,cap1,bcap11160/n,
cnt 55,cap0,bcap1447/n,
cnt 56,cap0,bcap1377/n,
cnt 57,cap0,bcap1395/n,
cnt 58,cap1,bcap11188/n,
cnt 59,cap0,bcap1463/n,
cnt 60,cap1,bcap11239/n,
cnt 61,cap0,bcap1455/n,
cnt 62,cap1,bcap11241/n,
cnt 63,cap0,bcap1407/n,
cnt 64,cap0,bcap1336/n,
cnt 65,cap0,bcap1354/n,
cnt 66,cap1,bcap11148/n,
cnt 67,cap0,bcap1463/n,
cnt 68,cap39,bcap129639/n,
cnt 69,cap9,bcap16831/n,
cnt 70,cap2,bcap11679/n,
cnt 71,cap0,bcap1455/n,

这里开启得到高电平 低电平捕获的时间 可以计算占空比
打开 control 宏
改初始值位100us捕获一次
prd_cnt = 100 us* (12000000/ 1000000) / timer_div[2];
prd_cnt = 75;
值75
定时100us 捕获一次 高 低电平都捕获一次
高电平 + 低电平 - 这个是100us捕获的数据
占空比 = 高电平/周期*100%

cnt 0,+bcap 30770,cap154
cnt 1,-bcap 6867 ,cap91
cnt 2,+bcap 3359,cap44
cnt 3,-bcap 455 ,cap6
cnt 4,+bcap 391,cap5
cnt 5,-bcap 461 ,cap6
cnt 6,+bcap 366,cap4
cnt 7,-bcap 436 ,cap5
cnt 8,+bcap 350,cap4
cnt 9,-bcap 412 ,cap5
cnt 10,+bcap 388,cap5
cnt 11,-bcap 457 ,cap6
cnt 12,+bcap 362,cap4
cnt 13,-bcap 415 ,cap5
cnt 14,+bcap 388,cap5
cnt 15,-bcap 432 ,cap5
cnt 16,+bcap 391,cap5
cnt 17,-bcap 443 ,cap5
cnt 18,+bcap 351,cap4
cnt 19,-bcap 2108 ,cap28
cnt 20,+bcap 1239,cap16
cnt 21,-bcap 463 ,cap6
cnt 22,+bcap 1238,cap16
cnt 23,-bcap 455 ,cap6
cnt 24,+bcap 1245,cap16
cnt 25,-bcap 455 ,cap6
cnt 26,+bcap 1242,cap16
cnt 27,-bcap 455 ,cap6
cnt 28,+bcap 1247,cap16
cnt 29,-bcap 2140 ,cap28
cnt 30,+bcap 1239,cap16
cnt 31,-bcap 463 ,cap6
cnt 32,+bcap 1238,cap16
cnt 33,-bcap 463 ,cap6
cnt 34,+bcap 390,cap5
cnt 35,-bcap 434 ,cap5
cnt 36,+bcap 1247,cap16
cnt 37,-bcap 1293 ,cap17
cnt 38,+bcap 391,cap5
cnt 39,-bcap 1257 ,cap16
cnt 40,+bcap 1236,cap16
cnt 41,-bcap 463 ,cap6
cnt 42,+bcap 391,cap5
cnt 43,-bcap 435 ,cap5
cnt 44,+bcap 399,cap5
cnt 45,-bcap 444 ,cap5
cnt 46,+bcap 1202,cap16
cnt 47,-bcap 463 ,cap6
cnt 48,+bcap 390,cap5
cnt 49,-bcap 434 ,cap5
cnt 50,+bcap 1241,cap16
cnt 51,-bcap 455 ,cap6
cnt 52,+bcap 1242,cap16
cnt 53,-bcap 2137 ,cap28
cnt 54,+bcap 391,cap5
cnt 55,-bcap 2105 ,cap28
cnt 56,+bcap 29639,cap139
cnt 57,-bcap 6839 ,cap91
cnt 58,+bcap 1671,cap22
cnt 59,-bcap 463 ,cap6

https://item.taobao.com/item.htm?ft=t&id=631235203678 淘宝开发工具 资料齐全

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值