Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Hardware

/

Embedded IoT

STM32 CAN通信

STM32 MCUを使用してCAN通信を実装する方法を説明するテキスト形式のレッスンです。

  • ihil
stm32
통신
네트워크
MCU
CAN

こんなことが学べます

  • STM32 MCUを使用したCAN通信

  • STM32 MCUの活用

やっぱり感じられるCAN通信、
基礎から実務まで流れをつかみます。

💾受講前に確認してください!

  • 本講義はPDF形式のテキスト講義で、別途映像を提供しません(合計7,384文字分)
  • レッスンを受講している方には、レッスンで使用されているすべてのソースファイルとWindowsプログラムのソースと実行可能ファイルを提供しています。
  • 本講義は実習ボードNUCLEO-F446REで行われます。

CAN通信マスター
なりたいなら?

このレッスンでは、マイクロコントローラユニット(MCU)STM32を使用してCAN通信を実装する方法について説明します。

CAN通信
Controller Area Network

車両内でホストコンピュータなしでマイクロコントローラやデバイスが互いに通信するように設計された標準通信規格です。

CAN通信は徐々に産業全分野に拡大していますが、CAN通信を実装することは開発キャリアの多い方でも容易にアクセスしにくい内容です。

本講義は、ST MCUに初めて接する人も簡単に従うことができるように、プロジェクト生成からソースファイルの修正、分析まで詳しく説明します。

CAN通信に興味のある方であれば、今回の講義を通じてCAN通信のマスターになりますように。


講義の特徴
確認してみてください。

1️⃣
初心者でも簡単

STM32を経験していない方も簡単にフォローできるように、プロジェクトの作成からプログラムの実装、結果の確認までのすべてのコースを説明します。

2️⃣
流れを把握できるように

CAN通信の全体的な内容を理解するだけでなく、実務からCAN通信を活用する能力まで習得できます。

3️⃣
入念な資料提供

提供されるWindowsプログラムを通じてCAN通信結果まで確認できます。


学習内容と構成

前半
STM32F446

2つのNUCLEO-F446RE開発ボードを活用してデータのやり取りを実現します。

後半
STM32H743

v1.3 バージョンに新たに追加された内容で、STM32F446 ボードと STM32H743 ボードを利用してデータの送受信を実装します。

本講義ではCAN-FDは扱わず、2.0A(Standard)および2.0B(Extended)を中心に説明します(CAN-FDは次のバージョンに内容を追加させていただきます。) 併せて実習のためST社が提供するNUCLEO-F446RE開発ボードを、コンパイラツールとしてSTM32Cu .

詳細カリキュラム(目次)
  • 1 概要(3)
  • 2 HW構成(4)
  • 2.1 FWダウンロードピンマップ(5)
  • 2.2 電源ピンマップ(5)
  • 2.3 UARTピンマップ(6)
  • 2.4 CANピンマップ(6)
  • 2.5 システム全体構成図(7)
  • 2.6 プログラムのダウンロード (8)
  • 2.6.1 ST-LINK FWアップデート(8)
  • 2.6.2 ボードの接続(9)
  • 3 CAN通信の概要(10)
  • 3.1 データフレーム構造(10)
  • 3.2 Bit Timing (12)
  • 3.3 アービトレーション(13)
  • 3.4 Bit Stuffing (15)
  • 4 SW実装(16)
  • 4.1 プロジェクトの作成(16)
  • 4.2 構成(18)
  • 4.2.1 RCC、DEBUG(19)
  • 4.2.2 Clock Configuration(20)
  • 4.2.3 タイマー設定(21)
  • 4.2.4 UART設定(22)
  • 4.2.5 CAN設定(23)
  • 4.2.6 GPIO設定(26)
  • 4.3 コードの実装(27)
  • 4.3.1 printfステートメントの使用(27)
  • 4.3.2 Build & ダウンロード (28)
  • 4.3.3 タイマ割り込みによるLED On/Off (30)
  • 4.3.4 UART1受信割り込みの実装(33)
  • 4.3.5 CAN通信の実装(35)
  • 4.3.5.1 main.h(40)
  • 4.3.5.2 can.c(40)
  • 4.3.5.3 can.h(43)
  • 4.3.5.4 usart.c(44)
  • 4.3.5.5 usart.h(46)
  • 4.3.5.6 main.c(46)
  • 5 結果確認 (48)
  • 5.1 テストモード1(リスト16モード)(49)
  • 5.2 テストモード2(リスト32モード)(50)
  • 5.3 Test Mode 3 (Mast16 Mode) (51)
  • 5.4 Test Mode 4 (Mask32 Mode) (52)
  • 5.5 Test Mode 5 (List16 2-Bank Mode) (53)
  • 5.6 全メッセージ受信設定(54)
  • 6 波形解析 (56)
  • 7 STM32H743 CAN実装(59)
  • 7.1 プロジェクトの作成(59)
  • 7.2 構成(61)
  • 7.2.1 RCC、DEBUG(61)
  • 7.2.2 UART設定(63)
  • 7.2.3 CAN設定(64)
  • 7.2.4 Clock Configuration(67)
  • 7.2.5 CAN Baud Rateの設定(68)
  • 7.2.6 Codeの生成(69)
  • 7.3 コードの実装(70)
  • 7.3.1 main.h(70)
  • 7.3.2 main.c(70)
  • 7.3.3 fdcan.c(72)
  • 7.3.4 fdcan.h(81)
  • 7.3.5 usat.c(81)
  • 7.3.6 usart.h(83)
  • 8 結果確認 (84)
  • 8.1 テストモード1(84)
  • 8.2 テストモード2(85)
  • 8.3 テストモード3(86)
  • 8.4 テストモード4(87)
  • 9 参考資料 (88)
  • 10 Revision History (89)

Q&A 💬

Q. 講義を聞くために準備すべき事項はありますか?

このレッスンは練習ボードNUCLEO-F446REで行われます。CAN通信を確認して2つのボードを使用します。

Q. プログラムツールは何を使用しますか?

ST社から無料で提供するSTMCubeIDE v1.9.0を使用します。

🎙️講義を作成した知識共有者の紹介

私は20年以上にわたり大企業、中小企業で開発者として働いてきましたが、現在は小企業を運営しています。など多くの経験を持っています。これまで積み重ねてきた幅広い経験をもとに、皆さんの学習に役立つことを願っています。

一緒に見ればいい講義📖

こんな方に
おすすめです

学習対象は
誰でしょう?

  • STM32 MCUに興味をお持ちの方

  • CAN通信を実装したい方

前提知識、
必要でしょうか?

  • C言語

こんにちは
です。

1,647

受講生

66

受講レビュー

123

回答

4.8

講座評価

19

講座

저는 지난 20여년 동안 대기업, 중소기업에서 개발자로 일해왔고

현재는 작은 기업의 대표로 있습니다.

주요 경력사항은

  • Verilog HDL을 이용한 FPGA 설계

    • CCTV용 ISP ASIC 개발 (약 10년)

    • OLED Display 검사장비 개발 (약 3년)

    • FPGA를 이용한 장비 개발

  • MCU FW

    • STM32

    • PIC32

    • AVR, ATMEGA

    • DSP (TI)

  • Windows Application Program

    • Visual Studio MFC, C++

입니다.

カリキュラム

全体

89件

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

4件

4.3

4件の受講レビュー

  • 손승규님의 프로필 이미지
    손승규

    受講レビュー 1

    平均評価 5.0

    5

    61% 受講後に作成

    • scryid님의 프로필 이미지
      scryid

      受講レビュー 4

      平均評価 4.8

      5

      87% 受講後に作成

      CAN 통신을 배우기에 너무 좋은 강좌. 막막했는데 좋은 도움이 되었습니다. 질의응답도 빠르게 이루어져서 좋았습니다

      • alex
        知識共有者

        CAN 통신은 기본적인 개념을 알고 접근하는게 좋습니다. 강의 통해 도움 되셨다니 감사합니다. 좋은 개발자 되시길 응원합니다. 감사합니다~!!

    • photosemo님의 프로필 이미지
      photosemo

      受講レビュー 1

      平均評価 5.0

      5

      61% 受講後に作成

      • 정진환님의 프로필 이미지
        정진환

        受講レビュー 7

        平均評価 2.7

        2

        99% 受講後に作成

        업계 직장인이 보기엔 너무 입문형 강좌 진도 처리도 애매함

        • alex
          知識共有者

          수강평 감사드립니다~ 강의 내용이 전반부는 CAN 통신의 이론적인 부분이 설명되어 있고 이후에는 stm32에서 can관련 library를 활용해서 직접 can 통신을 구현하는 내용과 결과를 확인하는 내용으로 구성되어 있습니다. can 통신은 serial 통신중에 조금 난이도가 있습니다. 접해보지 않으면 구현하기 쉽지 않습니다. 강의 내용을 이해하면 대부분의 can 관련 통신은 구현가능합니다. 실무에서는 강의 내용을 응용해서 사용하면 됩니다. 감사합니다 ~!!

      ¥2,669

      ihilの他の講座

      知識共有者の他の講座を見てみましょう!

      似ている講座

      同じ分野の他の講座を見てみましょう!