RCSN

个性签名:小店:橙柠科技

  • 2019-01-13
  • 发表了主题帖: 回首2018,展望2019

    还有不到一个月就春节了,从16年开始,我就每年都记录着我的年终总结。 2018年,对于自己来说,是比2017进步的一年,比2017年还努力的一年,比2017年还幸运的一年。记得2018上半年,因为怕做的公司项目不够好,做不出来,而且也遇到公司产品换代的时候,比如通信总线的改变,通信协议的改变,降低成本下的外设开发,框架的改变等等。让我在上半年的时候,天天基本加班到9点到12点都是常事,还好在一些问题上,我可以及时向EE的坛友请教,比如54chenjq,free,Q哥等,还有主管的理解以及耐心指导,让我觉得在2018年真的足够幸运。这个过程也让我有足够的时间去理解别人(比如github)的代码思路、框架等等,如何借鉴转换成自己的代码。一个清晰的思路,能让自己少走很多弯路。以及更有时间去学着开发上位机,让自己能够独立去完成上下位机的调试开发,虽然现在上位机开发不需要我了,但是这段经验足够让我入了门,也丰富了自己。2018年的下半年,因为产品线的框架基本定好,加班也变得不再常有,有了自己的业余时间,有足够的时间可以自己去DIY,去学车拿驾照。 2018年,也是一个转变的一年,也是愧疚的一年。对于家人,作为儿子、哥哥、弟弟的我,这些身份我做的都不够好,也不够尽责。对于朋友,作为朋友的我,这个身份也做的不够情义。留点自己的时间,多想想,多着想。 2018年,对于论坛,版主身份的我,发帖数量不多不少,但是每个帖子我都是发至真心,记录我的经验以及不足。 2019,多留点时间陪陪家人;努力提高自己,多挣钱,存够礼钱,买个车,结束爱情长跑。 此内容由EEWORLD论坛网友RCSN原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2019-01-07
  • 回复了主题帖: 小谈bootloader和APP两重升级

    13288507822 发表于 2019-1-7 15:35 “这里假设使用的是ST的STM32F103C8T6,该款单片机有64K flash,每个扇区为1K,一共64个扇区。在这些扇区的 ...
    谢谢纠正,我多写了个F

  • 回复了主题帖: XMC4800 使用DAVE环境添加LWIP协议栈出现错误?

    lwip版本太新了?你可以试下再新建工程试试?

  • 2019-01-06
  • 回复了主题帖: XMC4800 评测(五)简单制作CAN转USB

    连线图如下:   git效果:        工程附件如附件,    下一贴:体验以太网+freertos+lwip移植。

  • 回复了主题帖: XMC4800 评测(五)简单制作CAN转USB

    配置完毕之后,我们需要对其进行业务逻辑编写。楼主在接收中断里面,进行接收报文,并且建立一个接收完毕标志。根据上贴的复合设备。HID的回调读写接口的写接口上判断这个接收完成标志,若成立则把此报文发送给HID,HID再发给PC。同样,HID的读接口收到了PC的数据,则把此信息发给CAN的发送报文,CAN再发给PC。   HID的写接口逻辑如下    HID的读接口逻辑如下; 效果如下:      

  • 回复了主题帖: XMC4800 评测(五)简单制作CAN转USB

    那么配置好上述相关参数后,我们还需要对报文进行存储。XMC4800的报文对象有256个。每个CAN节点和唯一的报文对象列表相关联。一个CAN节点仅传送分配给该节点列表的报文对象中的报文。也就是说,一个CAN节点接收到的帧也只能存储到属于该节点的报文对象中;而一个CAN节点要发送的帧也只能在分配给该节点的报文对象中选择。 对于报文对象这块,设计实在很丰富,可以设置网关,还带FIFO。太多功能可以需要摸清,楼主也只是实现了一点小功能。而且对报文的元素列表等还不太熟悉,主要是报文列表的链表关系,还需要后续再理解。 前面说了,不管是收发的报文,都需要分配一个报文对象存储。在这里我们新建两个报文对象,一个是收一个是发。   然后再把这两个报文列表交由控制面板寄存器分配。所使用的接口,也就是唯一的接口,分配方式如下: 之后再使能报文接收对象的接收中断,在这里需要说明下CAN中断控制上,CAN模块一共有8条中断输出线,比如报文收发中断,错误帧中断等等,都可以自由分配到指定的中断输出线上,这样实现相对比较自由而且方便。而中断输出线的选择只需要INP寄存器进行切换即可。    综上可知,我们对其进行库函数编程对应的配置。    

  • 回复了主题帖: XMC4800 评测(五)简单制作CAN转USB

    知道套路之后,我们再此看下配置下CAN节点的端口,以便能正常收发报文。楼主在这里稍微弄得比较简单,CAN的发送使用非中断式发送,而接收使用了中断式接收。我们先来看下RX接收部分,首先看下端口的配置,RX的GPIO配置为输入接收模式,再配置下CAN_NODE1的接收输入线,这个可以通过节点端口控制器NPCR的RXSEL寄存器进行配置。从下图可知道CAN模块有8个接收输入线,那么CAN_NODE1的接收输入线该选择哪个呢,官方手册这里给了一张表,我们可以依次找到板子对应的输入线 从下图可以看到,板载的CAN1的接收IO口为P1.13,对应的就是N1_RXDC.NPCR的RXSEL赋值为011B。这样就确定了CAN1的接收输入线了。       那么官方库中也提供了相对应的接口以及枚举,我们就相对应赋值就行了。XMC_CAN_NODE_SetReceiveInput。       我们还需要配置下发送TX,发送这块相对比较简单,直接IO复用为CAN_NODE1的TX接口即可。但是我们如何确定呢,我们可以查找到官方的用户手册的PORTS的IO功能这块,板子的CAN_TX使用的是P1_12.由图可以看到使用的是输出的ALT2复用      那么我们相对应利用XMC_GPIO_SetMode这个设置IO模式的接口,把P1_12复用为ALT2即可。   

  • 回复了主题帖: XMC4800 评测(五)简单制作CAN转USB

    配置完上述之后,我们还需要对CAN的RX、TX的端口进行操作。在这里我们需要注意的是,需要对节点控制寄存器NCR进行相关操作,才可以去操作CAN的端口设置。也就是说,必须先关掉此CAN节点的CAN通信,再启用配置改变寄存器,才可以配置端口,配置完毕之后,再开启CAN节点的CAN通信,关闭配置改变寄存器。这个可以起到保护作用,防止端口被莫名改变。这 种类似与STM32的SPI配置,要改变传输位数,比如8位传输或者16位传输,比如先关闭SPI,才能配置,配置完毕开启SPI。这个是我遇到的第一个坑。不这样做,CAN的端口设置不能用,无法正常收发。 那么我们来分析下这些寄存器。CAN节点寄存器有个NCR寄存器,这个寄存器是决定CAN节点操作的基本设置,包括节点初始化INIT、传输中断启用TRIE、配置改变启用CCE等等。该寄存器也就前面8位是配置的    那么我们需要配置的寄存器也就两个,一个是INIT,一个是CCE。INIT是节点初始化,复位INIT启用该CAN节点,置位终止该CAN节点的CAN通信。CCE是配置改变启用,复位的话,位时序寄存器、端口控制寄存器、错误计时器寄存器只能读不能写,而置位可以进行读写。那么在这里我们要配置端口,那么开始就得置位INIT、CCE,配置端口完成后,就复位INIT、CCE。          明白了这个原理后,我们再看官方的demo(XMC4800这个并没有CAN的例子,但是可以参照XMC4500的),也就能清晰明白其思路。楼主为了快速开发肯定不可能用寄存器去操作,官方也有相对应的库接口,我们直接使用即可。操作CCE的是XMC_CAN_NODE_EnableConfigurationChange和XMC_CAN_NODE_DisableConfigurationChange;操作INIT的是XMC_CAN_NODE_SetInitBit和XMC_CAN_NODE_ResetInitBit。在操作端口以下截图:

  • 回复了主题帖: XMC4800 评测(五)简单制作CAN转USB

    本帖最后由 RCSN 于 2019-1-6 17:47 编辑 XMC4800的CAN模块有6个CAN节点,每个节点都是独立的。要使用它,我们得再初始化下节点的位时序、波特率、采样点前后时间段等相关配置。这些配置可以在每个节点的NBTR寄存器。      官方也提供了时序接口XMC_CAN_NODE_NominalBitTimeConfigure,传参结构体如下:    这里我们定义个实例变量,存在rom里面。依照上述的结构体进行赋值,再代入到XMC_CAN_NODE_NominalBitTimeConfigure中,这样就完成了节点的CAN相关配置。        在板载的CAN中使用的是CAN_NODE1。同样在库上也定义了此寄存器的基地址。我们直接使用即可。最后使用 XMC_CAN_NODE_NominalBitTimeConfigure(CAN_NODE1, &baud);即可实现CAN节点的配置

  • 发表了主题帖: XMC4800 评测(五)简单制作CAN转USB

    本帖最后由 RCSN 于 2019-1-6 17:29 编辑 额,继上贴的USB复合设备,楼主再调试了XMC4800的CAN的外设,以便整合简单的USB转CAN功能。在此贴中,楼主只单纯使用使用USB的HID类,HID速率不高,实际应用中还是使用winusb或者CDC。在这里楼主只是为了方便,以便验证此贴的功能性。 楼主在调试CAN的过程中,遇到不少一些小问题,在根据手册的说明中,验证XMC4800的CAN功能。楼主本来想使用周立功的CAN调试软件,但是由于系统问题,安装老是失败。所以改为所使用的CAN盒的调试工具。 此功能以一帧8个字节为准。HID发数据转发给CAN,CAN再发给PC;PC发给CAN,CAN再转发给HID,HID再发给PC。 那么先来说明先XMC4800的CAN的相关配置。我们需要先初始化下CAN模块的时钟以及波特率。对于CAN外设的时钟源,可以通过FDR寄存器和MCR寄存器进行步进分频。这里我们把CAN模块频率弄为12M,对于接口来说,只需要赋值CAN的时钟源和CAN频率即可,也就是通过XMC_CAN_Init进行初始化时钟频率。我们推究到内部接口。故初始化只需要这样。    此内容由EEWORLD论坛网友RCSN原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2019-01-04
  • 回复了主题帖: 年终回馈:EEWorld 2018年度最具影响力网友评选

    我再加一票给酷叔 long521

  • 2019-01-02
  • 回复了主题帖: XMC4800 评测(四)--资料分享

    elvike 发表于 2019-1-2 18:56 你这是在凑数啊
    没有啊。资料共享啊,该评测还是要评测啊

  • 发表了主题帖: XMC4800 评测(四)--资料分享

    本帖最后由 RCSN 于 2019-1-6 14:32 编辑 不得不说英飞凌的外设实在丰富,而且有时候看初始化代码以及其他接口,都需要去对下用户手册才能明白,目前XMC4800只有英文版本。楼主在学习其外设-CAN的时候,相比其他厂家,比如ST的CAN外设,功能比之强大不止百倍。但无奈英文介绍实在有点懵懂,楼主为此找到了相关的中文资料,不过是基于XMC4500的,同样都是M4内核,外设也基本介绍差不多,在此楼主分享,以便其他坛友交流。

  • 回复了主题帖: 2019,你的新年愿望是什么?

    努力胖40斤!

  • 2019-01-01
  • 回复了主题帖: XMC4800 评测(三)--USB复用设备CDC+HID

    好困。不小心就过了明年了。工程在附件,欢迎坛友多交流。新年快乐{:1_106:}

  • 回复了主题帖: XMC4800 评测(三)--USB复用设备CDC+HID

    在循环里面还需要添加CDC设备任务,HID设备任务,USB任务,以便一直在轮询工作中。这个在RTOS设定比较方便。楼主目前只是放在while里面轮询。后续会移植freertos进行分配任务。     完成了相关配置之后,下载代码运行。会出现两个设备类,分别是CDC和HID。    

  • 回复了主题帖: XMC4800 评测(三)--USB复用设备CDC+HID

    楼主也是第一次玩USB设备类,对于相关的USB协议实在复杂也没仔细了解,短时间也无法加深了解,我也是在仿真的过程中,逐渐大概了解建立过程。一开始楼主老是只有一个设备出现,另外一个设备并没有出现,后来找找github的相关代码,发现还是设备标识符等配置得不对。 总的流程大概就是,初始化USB、USB中断、建立端点事件处理程序、设备事件处理程序、然后进行USB连接。     然后连接过程中,主机会不断下发处理设备请求,比如当设备在控制端点上收到Get Descriptor请求时,就传回描述符细节并将相应的描述符发送回USB主机。若主机识别到相对应的设备类,则一次建立成功。如果设备描述符等不正确,会使主机认为是非法USB设备。    这里还定义了配置描述符结构,定义了HID类和CDC类, 该描述符位于FLASH存储器中,描述了该用法包括有关任何设备接口的信息和端点。 在选择时,枚举过程中USB主机读取描述符配置,以便主机可以与USB设备通信。    具体可在desriptors文件查看。    根据根据端点事件处理我们可以回调连接和断开等事件,在这里的接口我们可以直接写入我们的应用逻辑。   端点事件处理一般是收发信息事件,这里也有相对应的读写回调。比如HID的读写回调如下   CDC的读写回调。

  • 回复了主题帖: XMC4800 评测(三)--USB复用设备CDC+HID

    由于USB启动需要48M时钟支持,但是启动文件的弱定义时钟初始化函数并没有对USB时钟进行初始化,所以第一步我们得自己定义一个时钟初始化,进行相关分频提供一个USB时钟。 我们首先来看下官方提供的时钟树,看起来是比较简约    可以看出来时钟控制单元(CCU)由两个主要子块组成:时钟发生单元(CGU)、时钟选择单元(CSU)。CGU并行向CSU提供三个时钟:USB PLL时钟fPLLUSB,系统PLL输出时钟fPLL、来自备份时钟源的内部生成时钟fOFI。还有RTC外部晶体模块等。   具体的一些系统时钟设置可以参考官方手册,这里具体说明外部晶振12M(板载晶振)下的PLL时钟以及USB时钟的配置。在正常模式下,PLL时钟计算公式如下:      在这里官方也提供了一些PLL相关配置例子。      在这里我们配置为120M.如下:   USB时钟使用PLLUSB下的石基   

  • 2018-12-31
  • 回复了主题帖: XMC4800 评测(三)--USB复用设备CDC+HID

    官方的固件库可以在英飞凌官方的相关链接下载,链接:https://www.infineon.com/cms/cn/ ... ed-on-arm-cortex-m/ 提供了DAVE\IAR\MDK等平台的例子,例子比较丰富,各个外设可以边对着用户手册和代码进行学习,英飞凌的外设实在很丰富,短时间熟悉也不太可能。最好的方式就是利用demo,理解外设整合跑通。      官方使用的第三方USB库是LUFA库,这个库之前用在ATMEL比较多,英飞凌也做了相关的适配文件以便方便平台移植。相比winusb,rl-usb,lufa库方便快速移植上手、可维护性、代码编译占用空间小等。为此官方也做了相关的解释如下:       那么接下来就是移植工作了,这里比较方便,官方也为此做了一些适配以及移植文件,我们直接添加到工程即可。比如HID类设备驱动、CDC类,还有MSC类设备,这里楼主尚未整合。添加的文件如下截图。对于外设库,楼主比较懒,直接用MDK的魔术棒点击生生成。   

  • 发表了主题帖: XMC4800 评测(三)--USB复用设备CDC+HID

    本帖最后由 RCSN 于 2019-1-6 14:29 编辑 楼主看到板载的仿真器有虚拟串口,以为是有连接到XMC4800的串口上,但是看了原理图以及手册,是没有的。是接到USIC的一个外设上,看起来是个串口,但是得配置一些相关模式,比如配置启动模式(ASC BSL mode),这里楼主并没有找到官方的相关代码参考,只是用户手册里面有做相关说明,由此不太明白这个模式,在这里为了保险也不做这个。转变思路到USB设备中来,利用官方参考代码,整合描述为复合设备,也就是HID+CDC设备,来作为最初的上下位机交互   

    1. 【分享】 XMC4800 评测(五)简单制作CAN转USB 8/323 工控电子 2019-01-06
    2. 【分享】 XMC4800 评测(四)--资料分享 4/225 工控电子 2019-01-02
    3. 【分享】 XMC4800 评测(三)--USB复用设备CDC+HID 7/332 工控电子 2018-12-31
    4. 【分享】 XMC4800 评测(二)--开箱点灯 6/291 工控电子 2018-12-28
    5. 【分享】 XMC4800 评测(一) 5/318 工控电子 2018-12-27
    6. 【讨论】 想法 17/331 聊聊、笑笑、闹闹 2018-12-13
    7. 【经验】 分享一个ethercat的开源架构-基于XMC4800 2/359 【stm32/stm8】 2018-12-11
    8. 【原创】 关于总线冲突那点事(二) 9/451 【stm32/stm8】 2018-11-25
    9. 【原创】 关于总线冲突那点事(一) 11/971 【stm32/stm8】 2018-11-23
    10. 【原创】 再续Openmv4,填挖坑路之一:从源头流程开始说起 19/1291 【stm32/stm8】 2018-11-18
    11. 【GD32F350作品提交】 太阳追踪器初步实现 12/902 【GD32 MCU】 2018-10-14
    12. 【经验分享】 GD32F350体验之十(太阳位置算法的移植) 2/670 【GD32 MCU】 2018-09-30
    13. 【经验分享】 GD32F350体验之九(freemodbus的使用) 2/489 【GD32 MCU】 2018-09-30
    14. 【原创】 GD32F350体验之八(另类移植freemodbus成功) 8/434 单片机 2018-09-02
    15. 【经验分享】 GD32F350--体验之七(移植Freemodbus准备) 0/202 【GD32 MCU】 2018-09-02
    16. 【经验分享】 GD32F350--体验之六(Usart利用接收+空闲中断接收一帧不定长数据) 5/695 【GD32 MCU】 2018-09-02
    17. 【经验分享】 GD32F350--体验之五(关于串口官方一些细节操作) 4/679 【GD32 MCU】 2018-08-31
    18. 【经验分享】 GD32F350--体验之四(串口Usart之使用DMA发送) 10/923 【GD32 MCU】 2018-08-30
    19. 【经验分享】 GD32F350--体验之三(RTC) 8/1683 【GD32 MCU】 2018-08-29
    20. 【经验分享】 GD32F350---体验之二,修复代码重启无法运行 2/394 【GD32 MCU】 2018-08-29
    1. 小谈bootloader和APP两重升级 26/2317 【stm32/stm8】 2019-01-07
      13288507822 发表于 2019-1-7 15:35 “这里假设使用的是ST的STM32F103C8T6,该款单片机有64K flash,每个扇区为1K,一共64个扇区。在这些扇区的 ...
      谢谢纠正,我多写了个F
    2. lwip版本太新了?你可以试下再新建工程试试?
    3. XMC4800 评测(五)简单制作CAN转USB 8/323 工控电子 2019-01-06
      连线图如下:   git效果:        工程附件如附件,    下一贴:体验以太网+freertos+lwip移植。
    4. XMC4800 评测(五)简单制作CAN转USB 8/323 工控电子 2019-01-06
      配置完毕之后,我们需要对其进行业务逻辑编写。楼主在接收中断里面,进行接收报文,并且建立一个接收完毕标志。根据上贴的复合设备。HID的回调读写接口的写接口上判断这个接收完成标志,若成立则把此报文发送给HID,HID再发给PC。同样,HID的读接口收到了PC的数据,则把此信息发给CAN的发送报文,CAN再发给PC。   HID的写接口逻辑如下    HID的读接口逻辑如下; 效果如下:      
    5. XMC4800 评测(五)简单制作CAN转USB 8/323 工控电子 2019-01-06
      那么配置好上述相关参数后,我们还需要对报文进行存储。XMC4800的报文对象有256个。每个CAN节点和唯一的报文对象列表相关联。一个CAN节点仅传送分配给该节点列表的报文对象中的报文。也就是说,一个CAN节点接收到的帧也只能存储到属于该节点的报文对象中;而一个CAN节点要发送的帧也只能在分配给该节点的报文对象中选择。 对于报文对象这块,设计实在很丰富,可以设置网关,还带FIFO。太多功能可以需要摸清,楼主也只是实现了一点小功能。而且对报文的元素列表等还不太熟悉,主要是报文列表的链表关系,还需要后续再理解。 前面说了,不管是收发的报文,都需要分配一个报文对象存储。在这里我们新建两个报文对象,一个是收一个是发。   然后再把这两个报文列表交由控制面板寄存器分配。所使用的接口,也就是唯一的接口,分配方式如下: 之后再使能报文接收对象的接收中断,在这里需要说明下CAN中断控制上,CAN模块一共有8条中断输出线,比如报文收发中断,错误帧中断等等,都可以自由分配到指定的中断输出线上,这样实现相对比较自由而且方便。而中断输出线的选择只需要INP寄存器进行切换即可。    综上可知,我们对其进行库函数编程对应的配置。    
    6. XMC4800 评测(五)简单制作CAN转USB 8/323 工控电子 2019-01-06
      知道套路之后,我们再此看下配置下CAN节点的端口,以便能正常收发报文。楼主在这里稍微弄得比较简单,CAN的发送使用非中断式发送,而接收使用了中断式接收。我们先来看下RX接收部分,首先看下端口的配置,RX的GPIO配置为输入接收模式,再配置下CAN_NODE1的接收输入线,这个可以通过节点端口控制器NPCR的RXSEL寄存器进行配置。从下图可知道CAN模块有8个接收输入线,那么CAN_NODE1的接收输入线该选择哪个呢,官方手册这里给了一张表,我们可以依次找到板子对应的输入线 从下图可以看到,板载的CAN1的接收IO口为P1.13,对应的就是N1_RXDC.NPCR的RXSEL赋值为011B。这样就确定了CAN1的接收输入线了。       那么官方库中也提供了相对应的接口以及枚举,我们就相对应赋值就行了。XMC_CAN_NODE_SetReceiveInput。       我们还需要配置下发送TX,发送这块相对比较简单,直接IO复用为CAN_NODE1的TX接口即可。但是我们如何确定呢,我们可以查找到官方的用户手册的PORTS的IO功能这块,板子的CAN_TX使用的是P1_12.由图可以看到使用的是输出的ALT2复用      那么我们相对应利用XMC_GPIO_SetMode这个设置IO模式的接口,把P1_12复用为ALT2即可。   
    7. XMC4800 评测(五)简单制作CAN转USB 8/323 工控电子 2019-01-06
      配置完上述之后,我们还需要对CAN的RX、TX的端口进行操作。在这里我们需要注意的是,需要对节点控制寄存器NCR进行相关操作,才可以去操作CAN的端口设置。也就是说,必须先关掉此CAN节点的CAN通信,再启用配置改变寄存器,才可以配置端口,配置完毕之后,再开启CAN节点的CAN通信,关闭配置改变寄存器。这个可以起到保护作用,防止端口被莫名改变。这 种类似与STM32的SPI配置,要改变传输位数,比如8位传输或者16位传输,比如先关闭SPI,才能配置,配置完毕开启SPI。这个是我遇到的第一个坑。不这样做,CAN的端口设置不能用,无法正常收发。 那么我们来分析下这些寄存器。CAN节点寄存器有个NCR寄存器,这个寄存器是决定CAN节点操作的基本设置,包括节点初始化INIT、传输中断启用TRIE、配置改变启用CCE等等。该寄存器也就前面8位是配置的    那么我们需要配置的寄存器也就两个,一个是INIT,一个是CCE。INIT是节点初始化,复位INIT启用该CAN节点,置位终止该CAN节点的CAN通信。CCE是配置改变启用,复位的话,位时序寄存器、端口控制寄存器、错误计时器寄存器只能读不能写,而置位可以进行读写。那么在这里我们要配置端口,那么开始就得置位INIT、CCE,配置端口完成后,就复位INIT、CCE。          明白了这个原理后,我们再看官方的demo(XMC4800这个并没有CAN的例子,但是可以参照XMC4500的),也就能清晰明白其思路。楼主为了快速开发肯定不可能用寄存器去操作,官方也有相对应的库接口,我们直接使用即可。操作CCE的是XMC_CAN_NODE_EnableConfigurationChange和XMC_CAN_NODE_DisableConfigurationChange;操作INIT的是XMC_CAN_NODE_SetInitBit和XMC_CAN_NODE_ResetInitBit。在操作端口以下截图:
    8. XMC4800 评测(五)简单制作CAN转USB 8/323 工控电子 2019-01-06
      本帖最后由 RCSN 于 2019-1-6 17:47 编辑 XMC4800的CAN模块有6个CAN节点,每个节点都是独立的。要使用它,我们得再初始化下节点的位时序、波特率、采样点前后时间段等相关配置。这些配置可以在每个节点的NBTR寄存器。      官方也提供了时序接口XMC_CAN_NODE_NominalBitTimeConfigure,传参结构体如下:    这里我们定义个实例变量,存在rom里面。依照上述的结构体进行赋值,再代入到XMC_CAN_NODE_NominalBitTimeConfigure中,这样就完成了节点的CAN相关配置。        在板载的CAN中使用的是CAN_NODE1。同样在库上也定义了此寄存器的基地址。我们直接使用即可。最后使用 XMC_CAN_NODE_NominalBitTimeConfigure(CAN_NODE1, &baud);即可实现CAN节点的配置
    9. 年终回馈:EEWorld 2018年度最具影响力网友评选 62/2577 聊聊、笑笑、闹闹 2019-01-04
      我再加一票给酷叔 long521
    10. XMC4800 评测(四)--资料分享 4/225 工控电子 2019-01-02
      elvike 发表于 2019-1-2 18:56 你这是在凑数啊
      没有啊。资料共享啊,该评测还是要评测啊
    11. 2019,你的新年愿望是什么? 31/398 聊聊、笑笑、闹闹 2019-01-02
      努力胖40斤!
    12. XMC4800 评测(三)--USB复用设备CDC+HID 7/332 工控电子 2019-01-01
      好困。不小心就过了明年了。工程在附件,欢迎坛友多交流。新年快乐{:1_106:}
    13. XMC4800 评测(三)--USB复用设备CDC+HID 7/332 工控电子 2019-01-01
      在循环里面还需要添加CDC设备任务,HID设备任务,USB任务,以便一直在轮询工作中。这个在RTOS设定比较方便。楼主目前只是放在while里面轮询。后续会移植freertos进行分配任务。     完成了相关配置之后,下载代码运行。会出现两个设备类,分别是CDC和HID。    
    14. XMC4800 评测(三)--USB复用设备CDC+HID 7/332 工控电子 2019-01-01
      楼主也是第一次玩USB设备类,对于相关的USB协议实在复杂也没仔细了解,短时间也无法加深了解,我也是在仿真的过程中,逐渐大概了解建立过程。一开始楼主老是只有一个设备出现,另外一个设备并没有出现,后来找找github的相关代码,发现还是设备标识符等配置得不对。 总的流程大概就是,初始化USB、USB中断、建立端点事件处理程序、设备事件处理程序、然后进行USB连接。     然后连接过程中,主机会不断下发处理设备请求,比如当设备在控制端点上收到Get Descriptor请求时,就传回描述符细节并将相应的描述符发送回USB主机。若主机识别到相对应的设备类,则一次建立成功。如果设备描述符等不正确,会使主机认为是非法USB设备。    这里还定义了配置描述符结构,定义了HID类和CDC类, 该描述符位于FLASH存储器中,描述了该用法包括有关任何设备接口的信息和端点。 在选择时,枚举过程中USB主机读取描述符配置,以便主机可以与USB设备通信。    具体可在desriptors文件查看。    根据根据端点事件处理我们可以回调连接和断开等事件,在这里的接口我们可以直接写入我们的应用逻辑。   端点事件处理一般是收发信息事件,这里也有相对应的读写回调。比如HID的读写回调如下   CDC的读写回调。
    15. XMC4800 评测(三)--USB复用设备CDC+HID 7/332 工控电子 2019-01-01
      由于USB启动需要48M时钟支持,但是启动文件的弱定义时钟初始化函数并没有对USB时钟进行初始化,所以第一步我们得自己定义一个时钟初始化,进行相关分频提供一个USB时钟。 我们首先来看下官方提供的时钟树,看起来是比较简约    可以看出来时钟控制单元(CCU)由两个主要子块组成:时钟发生单元(CGU)、时钟选择单元(CSU)。CGU并行向CSU提供三个时钟:USB PLL时钟fPLLUSB,系统PLL输出时钟fPLL、来自备份时钟源的内部生成时钟fOFI。还有RTC外部晶体模块等。   具体的一些系统时钟设置可以参考官方手册,这里具体说明外部晶振12M(板载晶振)下的PLL时钟以及USB时钟的配置。在正常模式下,PLL时钟计算公式如下:      在这里官方也提供了一些PLL相关配置例子。      在这里我们配置为120M.如下:   USB时钟使用PLLUSB下的石基   
    16. XMC4800 评测(三)--USB复用设备CDC+HID 7/332 工控电子 2018-12-31
      官方的固件库可以在英飞凌官方的相关链接下载,链接:https://www.infineon.com/cms/cn/ ... ed-on-arm-cortex-m/ 提供了DAVE\IAR\MDK等平台的例子,例子比较丰富,各个外设可以边对着用户手册和代码进行学习,英飞凌的外设实在很丰富,短时间熟悉也不太可能。最好的方式就是利用demo,理解外设整合跑通。      官方使用的第三方USB库是LUFA库,这个库之前用在ATMEL比较多,英飞凌也做了相关的适配文件以便方便平台移植。相比winusb,rl-usb,lufa库方便快速移植上手、可维护性、代码编译占用空间小等。为此官方也做了相关的解释如下:       那么接下来就是移植工作了,这里比较方便,官方也为此做了一些适配以及移植文件,我们直接添加到工程即可。比如HID类设备驱动、CDC类,还有MSC类设备,这里楼主尚未整合。添加的文件如下截图。对于外设库,楼主比较懒,直接用MDK的魔术棒点击生生成。   
    17. 信息确认无误,谢谢EE
    18. XMC4800 评测(二)--开箱点灯 6/291 工控电子 2018-12-29
      freebsder 发表于 2018-12-29 08:19 为啥不用dave?强大的一逼
      :Sweat: 电脑辣鸡,先用MDK凑合下
    19. XMC4800 评测(二)--开箱点灯 6/291 工控电子 2018-12-28
      效果如下:    工程见附件。
    20. XMC4800 评测(二)--开箱点灯 6/291 工控电子 2018-12-28
      再者看下英飞凌的"定时器"模块,用于信号监测/调节和脉冲宽度调制(PWM)信号的定时器。可用于电力电子控制系统,如开关模式电源或不间断电源,或者电机控制等。在这里官方也列出了很多功能,楼主在这里也只是先示范了定时的作用。   在这里使用定时器的代码也很少,按正常姿势走,使能外设时钟->预分频等配置初始化->设置定时周期->设置影子寄存器到实际寄存器(这个需要了解)->设置中断以及触发中断事件或条件。   GPIO设置更加简单,直接设置IO模式(输出、输入、中断模式等)即可。      定时器中断接口需要对下中断向量表查看。   
  • TA暂时无记录哦~
    1. 数据结构与算法分析:C语言描述

      标签:C语言描述 有目录 高清 带源码

      本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。, 在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。, 全书特点如下:, ●专用一章来讨论算法设计技巧,包括贪婪算法、分治算法、动态规划、随机化算法以及回溯算法, ●介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和伸展树, ●安排一章专门讨论摊还分析,考查书中介绍的一些高级数据结构, ●新开辟一章讨论高级数据结构以及它们的实现,其中包括红黑树、自顶向下伸展树。treap树、k-d树、配对堆以及其他相关内容, ●合并了堆排序平均情况分析的一些新结果, 本书是国外数据结构与算法分析方面的标准教材,介绍了数据结构(大量数据的

      下载次数 12次 资源类型 技术书籍 上传时间 2018-07-28

    2. l鸟哥Linux入门第三版。vim编程技巧。树莓派python编程

      标签:Linux入门、vim、python

      本压缩有三个文档,分别是鸟哥的Linux私房菜基础篇第三版、Vim实用技巧、Raspberry Pi Python 编程入门

      下载次数 0次 资源类型 技术书籍 上传时间 2016-11-27

    3. 基于SimpleCV的实用机器视觉 OpenCV-Python-Toturial-中文版

      标签:simpleCV Python

      关于视觉的,压缩包有两个文档。一个是基于SimpleCV的实用机器视觉 。另外一个是OpenCV-Python-Toturial-中文版

      下载次数 16次 资源类型 技术书籍 上传时间 2016-11-27

    4. MSP430综合程序

      标签:MSP430的综合程序

      基于MSP430的液晶显示,点阵,流水灯的综合显示。。。protues仿真

      下载次数 0次 资源类型 源码 上传时间 2014-05-22

    5. 基于52的LCD1602显示

      标签:1602

      基于52单片机的LCD1602显示

      下载次数 0次 资源类型 源码 上传时间 2014-05-22

    6. MSP430和51的NRF24L01通信

      标签:NRF24L01

      基于MSP430和51的NRF24L01的无线通信

      下载次数 1次 资源类型 源码 上传时间 2014-05-22

  • TA暂时无记录哦~

最近访客

< 1/6 >

统计信息

已有327人来访过

  • 芯币:3208
  • 好友:27
  • 主题:77
  • 回复:697
  • 课时:--
  • 资源:6

留言

你需要登录后才可以留言 登录 | 注册


wml 2018-8-29
楼主,利用mjpg-streamer实现摄像头监控,我用其他电脑登录不了这个网址界面,进不去怎么回事
查看全部