cc2530控制继电器

2019-07-21 20:24发布

你好,,我想问下,我在用cc2530 的P1.0控制继电器,进而控制路灯开断,大概80w。 先初始化端口,赋值为0,继电器闭合,灯亮 我用smartrf04eb仿真器单步调试,每次调试到端口初始化p1.0为输出,这条语句,要不就卡主,要不就stack……90%……这种错误,要不这时候灯就亮了,后面继续卡主。当然我不开灯或者p1.0定义输出口注释掉,调试不会有任何问题,可是这样功能不能验证啊, 请问这和iar设置,或者电路,程序有问题吗,,w这个问题已经困扰很久了, 希望你能够尽快回复我,或者给些建议,,不胜感激
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
dirtwillfly
1楼-- · 2019-07-21 20:54
不清楚,没遇到过。建议提供下代码
唐静缘
2楼-- · 2019-07-22 01:57
include <iocc2530.h>
typedef unsigned char uchar;
typedef unsigned int uint;
#define DATA  P2_0
#define DATA_PIN P0_0
void DelayMS(uint msec)
{
  uint i,j;
  for(i=0;i<msec;i++)
    for(j=0;j<535;j++);
}
void InitData_pin(void)
{
  P0DIR |=0x01;
DATA_PIN=1;
}
void InitData(void)
{
  P2SEL &=~0x01;
  P2DIR &=~0x01;
  P2INP &=~0x01;
}
uchar DataScan(void)
{
  if(DATA==0)
  {
    DelayMS(10000);
    if(DATA==0)
    {
      while(!DATA);
      
      DelayMS(50000);
      return 0;
    }
  }
  
   DelayMS(50000);
  return 1;
}
void main(void)
{
  InitData_pin();
// P0DIR |=0x01;
//DATA_PIN=1;
  InitData();
  while(1)
  {
    if(DataScan())
      DelayMS(50000);
      DATA_PIN=~DATA_PIN;
  }
}
dirtwillfly
3楼-- · 2019-07-22 02:03
你程序里没用到p1.0
不懂你顶楼说的是什么情况
nameligang
4楼-- · 2019-07-22 07:00
                        
唐静缘
5楼-- · 2019-07-22 07:22
 精彩回答 2  元偷偷看……
dirtwillfly
6楼-- · 2019-07-22 09:08
唐静缘 发表于 2016-7-13 16:40
我是求CC2530控制继电器的程序,外接的一个常开开关,控制继电器,在控制外部的灯 ...

一周热门 更多>