飞信中1
能登录SSI Portal了,明天修改一下结构再继续做proxy register部分
能登录SSI Portal了,明天修改一下结构再继续做proxy register部分
看中飞信了,抓包看了看协议,是变种SIP。。。 准备着手弄一个玩玩
Rx mailbox的identifier register有32位,最低三位是0:reserved 1:RTR 2:IDE,因此extID的最低位存于id register的低第3位;而stdID的最低位从id register的21位开始,stdID占据高11位。 filter bank register也是32位,和mailbox id register一一对应,因此filter bank bits对RTR和IDE也有效。STM32的fwlib中CAN_FilterIdHigh/Low CAN_FilterMaskIdHigh/Low都是raw bits,而RxMessage.StdId之类却由fwlib管理offset,因此两者不能直接对应,filter register需要手动移位来控制。 如果要接受stdID为0x*1*的数据帧: /* CAN filter init */ CAN_FilterInitStructure.CAN_FilterNumber=0; CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask; CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit; CAN_FilterInitStructure.CAN_FilterIdHigh=0×10 << 5; CAN_FilterInitStructure.CAN_FilterIdLow=0×0000 | 0×0 << 1 | 0×0 << 2; CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0xF0 << 5; CAN_FilterInitStructure.CAN_FilterMaskIdLow=0×0000 | 0×1 << 1 | 0×1 << 2; CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_FilterFIFO0; CAN_FilterInitStructure.CAN_FilterActivation=ENABLE; CAN_FilterInit(&CAN_FilterInitStructure);
loopback很快就没问题了,接入网络的时候要注意几个问题: 不要忘记remap用作CAN的引脚,需要的话。 记清楚时钟用了HSE还是PLL,还有PCLK2是怎么从HCLK分频的。算CAN总线速率的时候是用CAN的时钟去除以(SJW+BS1+BS2)再除以Prescaler。 终端电阻的配备。总之注意阻抗和相应的信号反射问题就是了。 开了中断不去处理是要遭报应的。。。别忘记把收到的message删掉。 模拟示波器这个时候是没用的。。。。要是有台带协议分析的存储示波器就好了。 以上。
终于回到纯软件的地盘,花了10天快速熟悉了QT,除了多媒体部分外大致可以上手。从上海回来就要着手那个所谓差分干涉雷达遥感图像处理系统,又是全新的领域,不知会用掉我多少天。要是东西出的早再花点时间把处理引擎搬到PS3上试试。。恩 我承认其实我的打算是搬到PS3的集群里试试。。。