OpenWSN无线协议栈移植与CPS系统搭建

[复制链接]
3054|26
 楼主| t60yz 发表于 2022-12-31 13:41 | 显示全部楼层
移植结果验证

这里我们借助openwsn源码中提供的单元测试代码验证移植结果:
//main.c
 楼主| t60yz 发表于 2022-12-31 13:42 | 显示全部楼层
  1. #include <stdint.h>
  2. #include <stdio.h>

  3. #include "board_init.h"
  4. #include "leds.h"
  5. /*
  6. * Definitions.
  7. */

  8. /*
  9. * Variables.
  10. */

  11. /*
  12. * Declerations.
  13. */
  14. void some_delay(void);
  15. /*
  16. * Functions.
  17. */
  18. int main(void)
  19. {
  20.         uint8_t i;
  21.     BOARD_Init();
  22.         leds_init();
  23.         
  24.     printf("\r\ngpio_basic example.\r\n");

  25.     while (1)
  26.     {
  27. //        if ( GPIO_ReadInDataBit(BOARD_KEY0_GPIO_PORT, BOARD_KEY0_GPIO_PIN) ) /* key is no pressed. */
  28. //        {
  29. //            GPIO_WriteBit(BOARD_LED0_GPIO_PORT, BOARD_LED0_GPIO_PIN, 1u); /* led off. */
  30. //            GPIO_WriteBit(BOARD_LED1_GPIO_PORT, BOARD_LED1_GPIO_PIN, 0u); /* led on. */
  31. //        }
  32. //        else /* key is pressed. */
  33. //        {
  34. //            GPIO_WriteBit(BOARD_LED0_GPIO_PORT, BOARD_LED0_GPIO_PIN, 0u); /* led on. */
  35. //            GPIO_WriteBit(BOARD_LED1_GPIO_PORT, BOARD_LED1_GPIO_PIN, 1u); /* led off. */
  36. //        }
  37.      leds_error_on();          some_delay();
  38.    leds_error_off();         some_delay();
  39.    leds_error_toggle();      some_delay();
  40.    leds_error_blink();       some_delay();
  41.    
  42.    // radio LED functions
  43.    leds_radio_on();          some_delay();
  44.    leds_radio_off();         some_delay();
  45.    leds_radio_toggle();      some_delay();
  46.    
  47.    // sync LED functions
  48.    leds_sync_on();           some_delay();
  49.    leds_sync_off();          some_delay();
  50.    leds_sync_toggle();       some_delay();
  51.    
  52.    // debug LED functions
  53.    leds_debug_on();          some_delay();
  54.    leds_debug_off();         some_delay();
  55.    leds_debug_toggle();      some_delay();
  56.    
  57.    // all LED functions
  58.    leds_all_off();           some_delay();
  59.    leds_all_on();            some_delay();
  60.    leds_all_off();           some_delay();
  61.    leds_all_toggle();        some_delay();
  62.    
  63.    // LED increment function
  64.    leds_all_off();           some_delay();
  65.    for (i=0;i<9;i++) {
  66.       leds_increment();      some_delay();
  67.    }
  68.    
  69.    // LED circular shift function
  70.    leds_all_off();           some_delay();
  71.    leds_error_on();          some_delay();
  72.    for (i=0;i<9;i++) {
  73.       leds_circular_shift(); some_delay();
  74.    }
  75.    
  76.     }
  77. }

  78. void some_delay(void) {
  79.    volatile uint16_t delay;
  80.    for (delay=0xffff;delay>0;delay--);
  81. }
 楼主| t60yz 发表于 2022-12-31 13:43 | 显示全部楼层
 楼主| t60yz 发表于 2022-12-31 13:44 | 显示全部楼层
 楼主| t60yz 发表于 2022-12-31 13:45 | 显示全部楼层
在之前的文章中介绍了将ucos-ii移植到GD32F310开发板上的操作指导,为了构建将传感、驱动和计算组件紧密集成到分布式反馈回路的网络物理系统(CPS),我们将尝试分别将运行OS的GD32F310和OpenWSN的GD427V借助于BLOT协议实现互联,组件完整的CPS系统。
 楼主| t60yz 发表于 2022-12-31 13:45 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0