搜索
bottom↓
回复: 1

基于STM8L001J3 125KHZ RFID EM4100卡 请教

[复制链接]
(42713896)

出0入0汤圆

发表于 2019-6-18 16:57:06 | 显示全部楼层 |阅读模式
本帖最后由 yueming 于 2019-6-18 16:58 编辑

硬件部分已经调试完毕,示波器也可以显示出来,因为这个STM8L001 的芯片引脚很少,资源有限,对Manchester的捕获,只能通过基本定时器和外部中断方式,
来捕获高低电平,关于定时器有一个问题,我的外部中断是这样写的,定时器是这样配置的

void EXTI_Config(void)
{
  GPIO_DeInit(GPIOA);
  GPIO_Init(GPIOA,GPIO_Pin_2,GPIO_Mode_In_PU_IT);
  EXTI_DeInit();
  EXTI_SetPinSensitivity(EXTI_Pin_2,EXTI_Trigger_Rising_Falling);
  TIM2_Config();
}

void TIM2_Config()
{
  CLK_MasterPrescalerConfig(CLK_MasterPrescaler_HSIDiv1);
  TIM2_DeInit();
  /* Enable TIM2 clock */
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE);
  TIM2_TimeBaseInit(TIM2_Prescaler_64, TIM2_CounterMode_Up, 255);//定时单位4us
  TIM2_ARRPreloadConfig(ENABLE);
  TIM2_Cmd(ENABLE);
}

当触发了上升沿或者下降沿的时候就会进入到外部中断服务函数中,
INTERRUPT_HANDLER(EXTI2_IRQHandler, 10)


     unsigned short time;
     time= TIM2_GetCounter();
     unsigned char ucTemp;
     TIM2_SetCounter(0);



这样写对吗? 我的目的是为了测出位数据时间,高或者低电平,我的疑惑是 当边沿触发中断,进入到中断服务函数中的时候,此时读的值就是 高电平或者低电平的值吗,我用串口打印这个时间数据不对。



(34677679)

出0入0汤圆

发表于 2019-9-19 17:14:03 | 显示全部楼层
都是捕获去解码么
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号-1 )

GMT+8, 2020-10-25 01:55

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表