zoukankan      html  css  js  c++  java
  • ChibiOS/RT移植到STM32F407

    官网地址:http://www.chibios.org/dokuwiki/doku.php

    下载源码

    找到STM32F407的demos程序(chibiosdemosSTM32RT-STM32F407-DISCOVERY

    /*
     * This is a periodic thread that does absolutely nothing except flashing
     * a LED.
     */
    static THD_WORKING_AREA(waThread1, 128);
    static THD_FUNCTION(Thread1, arg) {
    
      (void)arg;
      chRegSetThreadName("blinker");
      while (true) {
        palSetPad(GPIOD, GPIOD_LED3);       /* Orange.  根据个人开发板配置*/
        chThdSleepMilliseconds(500);
        palClearPad(GPIOD, GPIOD_LED3);     /* Orange.  */
        chThdSleepMilliseconds(500);
      }
    }
    
    /*
     * Application entry point.
     */
    int main(void) {
    
      /*
       * System initializations.
       * - HAL initialization, this also initializes the configured device drivers
       *   and performs the board-specific initializations.
       * - Kernel initialization, the main() function becomes a thread and the
       *   RTOS is active.
       */
      halInit();
      chSysInit();
    
      /*
       * Activates the serial driver 2 using the driver default configuration.
       * PA2(TX) and PA3(RX) are routed to USART2.
       */
      sdStart(&SD2, NULL); //SD2,代表UART2
      palSetPadMode(GPIOA, 2, PAL_MODE_ALTERNATE(7)); //UART TX
      palSetPadMode(GPIOA, 3, PAL_MODE_ALTERNATE(7)); //UART RX
    
      /*
       * Creates the example thread. 创建线程
       */
      chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
    
      /*
       * Normal main() thread activity, in this demo it does nothing except
       * sleeping in a loop and check the button state.
       */
      while (true) {
        if (palReadPad(GPIOA, GPIOA_BUTTON))
          TestThread(&SD2);
        chThdSleepMilliseconds(500);
      }
    }

    使用烧写工具烧写。效果是串口不断打印TestThread中的信息,LED不断闪烁

  • 相关阅读:
    IntelliJ IDEA 设置代码提示或自动补全的快捷键
    spring框架学习(一)
    java数据库连接池技术原理(浅析)
    Spring事务管理
    Android invalidate 用法
    sharedPreferences存储文件
    Android Service组件
    SQLite版本升级
    在android.app.Application中定义全局变量 .
    android观察者模式
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709512.html
Copyright © 2011-2022 走看看