这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » wenyangzeng ARM DIY进程贴 红外解码

共107条 5/11 |‹ 3 4 5 6 7 8 ›| 跳转至
工程师
2012-05-07 16:45:11     打赏
41楼




                                    乙机data  <3000亮3个LED



                                      乙机data  >3000亮4个LED

工程师
2012-05-07 16:55:17     打赏
42楼

部分代码
void CAN_Configuration(void)

 GPIO_InitTypeDef GPIO_InitStructure;
 RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
 GPIO_Init(GPIOB, &GPIO_InitStructure);
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
 GPIO_Init(GPIOB, &GPIO_InitStructure);
 GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE);
}
//--------------
//中断初始化函数
//--------------

void CAN_Interrupt(void)
{
 CAN_InitTypeDef        CAN_InitStructure;
 CAN_FilterInitTypeDef  CAN_FilterInitStructure;
 CAN_DeInit(CAN1);
 CAN_StructInit(&CAN_InitStructure);
 CAN_InitStructure.CAN_TTCM=DISABLE;
 CAN_InitStructure.CAN_ABOM=DISABLE;
 CAN_InitStructure.CAN_AWUM=DISABLE;
 CAN_InitStructure.CAN_NART=DISABLE;
 CAN_InitStructure.CAN_RFLM=DISABLE;
 CAN_InitStructure.CAN_TXFP=DISABLE;
 CAN_InitStructure.CAN_Mode=CAN_Mode_Normal;
 CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;
 CAN_InitStructure.CAN_BS1=CAN_BS1_12tq;
 CAN_InitStructure.CAN_BS2=CAN_BS2_7tq;
 CAN_InitStructure.CAN_Prescaler=9;
 CAN_Init(CAN1,&CAN_InitStructure);
 CAN_FilterInitStructure.CAN_FilterNumber=0;
 CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;
 CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;
 CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;
 CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;
 CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;
 CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;
 CAN_FilterInitStructure.CAN_FilterFIFOAssignment=0;
 CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;
 CAN_FilterInit(&CAN_FilterInitStructure);
 CAN_ITConfig(CAN1,CAN_IT_FMP0, ENABLE);
}
//-------
//发送函数
//-------
void SendCan(u16 dat)
{
 CanTxMsg TxMessage;
 if(GET_LEFT())
 {
  TxMessage.StdId=0x12;
  TxMessage.ExtId=0x34;
  TxMessage.IDE=CAN_ID_STD;
  TxMessage.RTR=CAN_RTR_DATA;
  TxMessage.DLC=2;
  TxMessage.Data[0]=dat&0xff;
  TxMessage.Data[1]=dat>>8;
  CAN_Transmit(CAN1,&TxMessage);
 }
}

//-------
//中断函数
//-------
extern u16 Get_Ad;
void USB_LP_CAN1_RX0_IRQHandler(void)
{
CanRxMsg RxMessage;
 RxMessage.ExtId=0;
 CAN_Receive(CAN1,CAN_FIFO0, &RxMessage);
 
 if(RxMessage.StdId==0x11)
 {
  Get_Ad=RxMessage.Data[1]+(RxMessage.Data[0]<<8);
 }
}

void NVIC_Configuration(void)
{
 NVIC_InitTypeDef NVIC_InitStructure;
 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
 NVIC_InitStructure.NVIC_IRQChannel=USB_LP_CAN1_RX0_IRQn;
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
 NVIC_Init(&NVIC_InitStructure);
}

 

 


高工
2012-05-07 19:13:19     打赏
43楼

不错,进展顺利,特别还有条件搞CAN通讯


工程师
2012-05-07 19:16:21     打赏
44楼
谢谢楼上。你再多弄快板子也可以CAN通信的

高工
2012-05-07 19:22:02     打赏
45楼
晕,你家板子真多,最后一页都看见了三个。。

工程师
2012-05-07 19:32:32     打赏
46楼
楼上,你没看到我33楼那个板子是借来的吗?五湖四海皆有朋友嘛。

高工
2012-05-07 22:03:23     打赏
47楼
这个值得学习。我弄了12864没搞定,朋友说不行直接就放弃了

工程师
2012-05-07 22:12:45     打赏
48楼
回楼上,任何事情都要自己去实践。我的实例应该能鼓励你动手下去。希望你能成功。

高工
2012-05-07 22:17:05     打赏
49楼
那是!这不,不动手就浪费了块屏.....话说我的12864还是彩屏呢!

工程师
2012-05-07 22:29:32     打赏
50楼
彩屏更应该利用。记得输出的GPIO口要设成推挽才可行

共107条 5/11 |‹ 3 4 5 6 7 8 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]