How I program GPIOs in C | Embedded System Project Series #12

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 พ.ย. 2024

ความคิดเห็น • 22

  • @redwoodenjoyer
    @redwoodenjoyer ปีที่แล้ว +1

    You are so, so smart and good at explaining this. Coming from Arduino and slowly leveling up my knowledge and realizing that even something as simple as direct bit banging was the TIP OF THE ICEBERG for all of firmware

    • @artfulbytes
      @artfulbytes  ปีที่แล้ว +2

      Thanks! haha yep, lots of details hiding underneath :)

  • @needywallaby2030
    @needywallaby2030 6 หลายเดือนก่อน

    i was searching for copper but found a gold
    this channel is best imo

  • @palaaaurinkoon
    @palaaaurinkoon ปีที่แล้ว +1

    Thank you for this wonderful series. Can't wait to see what's next.

  • @renanpils
    @renanpils 8 หลายเดือนก่อน

    This series is awesome man! Very good content!

  • @Maksym_Palii
    @Maksym_Palii ปีที่แล้ว +1

    Only now I've realized: TI - Texas Instruments😁🤣

  • @pablocabellojordan2943
    @pablocabellojordan2943 11 หลายเดือนก่อน

    Hi there, just found this channel, and this is exactly what I would love to do. I'm learning self-taught, but gets to hard for me. Can you please tell me something like a routemap so I can use to study?. (Something like: first you have to learn C, then electronics, then ...).

    • @artfulbytes
      @artfulbytes  10 หลายเดือนก่อน +3

      Firstly, I would just focus on writing programs in C without any microcontroller, just programs running on your host machine, to get familiar with it. Once you feel somewhat comfortable you can pick up a simpler microcontroller, like an 8-bit one. Start small. Try to blink an LED with a GPIO, detect a button press with interrupt, hook up a sensor and write a driver to talk to it learning about uart/i2c/spi... You will have to do some simple circuits to connect things so you will learn some electronics as you go along. You don't need to be an expert in electronics if you purely want to focus on embedded software. Also I don't like the word "study", you don't learn embedded systems by reading a book, you learn by doing. Note, I'm not saying you shouldn't read, but that you should read what you need to know to do what you want to do. So not "How to learn C", instead more "How do I blink an LED with GPIO on the microcontroller I have in front of me"... Something like that :)

  • @BrandonJJackson
    @BrandonJJackson หลายเดือนก่อน

    Bro die i understand it right? The driver codeblock could be also caller a Hardware abstraction layer? (HAL)

    • @BrandonJJackson
      @BrandonJJackson หลายเดือนก่อน

      Thanks for the free education ❤

  • @zDoubleE23
    @zDoubleE23 8 หลายเดือนก่อน

    Any good sources where the preprocessors like #ifndef, #end, etc are explained and exemplified with use cases?

    • @artfulbytes
      @artfulbytes  8 หลายเดือนก่อน

      No resource to cover them all, I've just picked it up here and there. But as I mention somewhere in the series, avoid them when you can because they can lead to hard-to-debug issues down to road.

    • @sternowl2345
      @sternowl2345 2 หลายเดือนก่อน

      gcc.gnu.org/onlinedocs/cpp.pdf

  • @3deesuk
    @3deesuk ปีที่แล้ว

    in 16:55 min ,
    what is pin_bit? i understand pin number and port number.
    what is different between io_pin_bit and io_pin_idx?
    (io & IO_PORT_MASK) >> IO_PORT_OFFSET this gives port 0 instead of port one for IO_10?

    • @artfulbytes
      @artfulbytes  ปีที่แล้ว +1

      pin_bit is the bit value and pin idx is the position idx of that bit value.
      For example, for pin number 7, the bit value (pin_bit) is 0b10000000 (dec: 128), the 7th bit is set. Pin idx is 7, because it's the 7th bit position. For pin number 3, the bit value is 0b00001000 (dec: 8), and pin idx 3.
      Yes (io & IO_PORT_MASK) >> IO_PORT_OFFSET gives value 0 for IO_10. But in io_port_e enum, value 0 corresponds IO_PORT1 (there is no IO_PORT0). I did it like this because in TI calls the first port 1 (not 0) in the datasheet.

  • @curiosityseesomethinginter9116
    @curiosityseesomethinginter9116 2 หลายเดือนก่อน

    which IDE you are using?

    • @artfulbytes
      @artfulbytes  2 หลายเดือนก่อน

      No IDE in this video, here I'm only using Vim and alacritty-terminal. In some of the other videos I use CCStudio.

  • @olivialinden8699
    @olivialinden8699 ปีที่แล้ว

    👍

  • @ReganeKegane-wq9by
    @ReganeKegane-wq9by ปีที่แล้ว +1

    Ok

  • @bhojasd
    @bhojasd 4 หลายเดือนก่อน

    CAN YOU PLEASE MAKE VIDEOS IN SLOW MANNER ....YOU MOVED FAST FARWARD YOUR CODE WHICH IS VERY UNCOMFORTABLE TO UNDERSTAND FOR ME

  • @bhojasd
    @bhojasd 4 หลายเดือนก่อน

    NEXT TIME PLEASE DON DO FARWARDING OF CODE PORTION .......PLEASE MAKE IT SLOW AND ALSO TALK SLOWLY ....LOVE FROM INDIA