• 大小: 2.14MB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2023-09-30
  • 语言: 其他
  • 标签: Chibios  

资源简介

Real time operating system Chibios 源代码,这个操作系统广泛应用于embedded开发,有丰富的成功应用案例

资源截图

代码片段和文件信息

/*
    Copyright (C) 2015 Fabio Utzig

    Licensed under the Apache License Version 2.0 (the “License“);
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing software
    distributed under the License is distributed on an “AS IS“ BASIS
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
*/

#include “ch.h“
#include “hal.h“
#include “test.h“

static THD_WORKING_AREA(waThread1 64);
static THD_FUNCTION(Thread1 arg) {

  (void)arg;
  uint8_t led = LED0;
  chRegSetThreadName(“blinker“);
  while (1) {
    palSetPad(IOPORT1 led);
    chThdSleepMilliseconds(100);
    palClearPad(IOPORT1 led);
    if (++led > LED4) led = LED0;
  }
}

/*
 * Application entry point.
 */
int main(void) {

  SerialConfig serial_config = {
    .speed = 38400
    .tx_pad = UART_TX
    .rx_pad = UART_RX
  };

  /*
   * 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 UART0 using the driver default configuration.
   */
  sdStart(&SD1 &serial_config);

  /*
   * Creates the blinker thread.
   */
  chThdCreateStatic(waThread1 sizeof(waThread1) NORMALPRIO Thread1 NULL);

  TestThread(&SD1);
  while (1) {
    chThdSleepMilliseconds(500);
  }
}

评论

共有 条评论

相关资源