请教各位:
关于CanFestival CANOPEN通讯中的big-endian / little-endian问题。
我分别在STM8S208和STM32F205上移植了CanFestival 的CANOPEN通讯协议;
用于STM8S208 的编译器是IAR Embedded Workbench for STMicroelectronics STM8 V1.31;
用于STM32F205的编译器是MDK-ARM Standard Version: 4.53.0.0;
现在,STM32F205能收到STM8S208发送过来的PDO了。
在STM8S208中,一个16位的变量映射到这个PDO ,STM32F205收到了这个变量,但它的字节顺序时颠倒的.
例如,在STM8S208中变量值是:0x1234;STM32F205收到这个变量却成了:0x3421
我查了一下,IAR、MDK-ARM和CanFestival,都没有big-endian / little-endian之选项.
为之奈何?
难道,我必须写个小函数来扭转乾坤?
请各位教我,若能如愿,不胜感激! |