Port Register Control | Increase speed of Read/Write - Arduino101

  Рет қаралды 95,874

Electronoobs

Electronoobs

Күн бұрын

Пікірлер: 299
@mmawad100
@mmawad100 4 жыл бұрын
PLEASE CONTINUE WITH THE ADVANCED STUFF THERE IS A SERIOUS LACK ON THE INTERNET FOR THAT
@willtipton
@willtipton 4 жыл бұрын
I agree! 114%
@MrRijoAlex
@MrRijoAlex 4 жыл бұрын
Truer words have never been spoken!
@Danixu86
@Danixu86 3 жыл бұрын
Well there's stuff on internet, the problem is that is not well explained and this videos helps a lot.
@AdithyanKNair
@AdithyanKNair 2 жыл бұрын
still facing this problem
@minusharma1738
@minusharma1738 4 жыл бұрын
You are so underrated 😭
@sawansihag6974
@sawansihag6974 3 жыл бұрын
Yes, I am amazed by the amount of knowledge I got from this video
@DivyanshMMMUT
@DivyanshMMMUT 4 жыл бұрын
I think programming directly using Register Control is more fun as we are literally seeing what the controller is actually doing.... More like an assembly level Language 🔥. - Thankyou from India 🙏
@bobvanwagner6099
@bobvanwagner6099 11 ай бұрын
i've programmed in C since Bell Labs in the late '70-s and know the concepts like this better than the back of my hand, but rarely have I seen such a clear and careful explanation. Great Job!
@sammflynn6751
@sammflynn6751 4 жыл бұрын
Amazing, crystal clear explanation . wow, nobody explains it better than you. You deserve a million subs man.
@pr2207A
@pr2207A 4 жыл бұрын
This is really a great explanation as well as great presentation. Port manipulation now looks more easy to get understand. Thank you. 🤩
@MarlinFirmware
@MarlinFirmware 4 жыл бұрын
For our project we used “FastIO” headers that define helpful macros to initialize, read, and write to the port bits using the digital PIN number, concealing all the binary math. They really speed up digital I/O, so we extended them to several platforms. For analog pin reading you can do similar tricks, by first setting up the pin for reading, then starting the ADC, and then going off to do other things and picking up the ADC result later, instead of calling analogRead() and waiting for it to return. That would make a good related subject for a future video. Cheers!
@richardlighthouse5328
@richardlighthouse5328 4 жыл бұрын
If you need performance, then write in pure c/c++.
@MD-vs9ff
@MD-vs9ff 2 жыл бұрын
@@richardlighthouse5328 I don't know what you mean. Arduino is a pure C++ set of libraries, with just some cosmetic things handled automatically (like function prototypes).
@richardlighthouse5328
@richardlighthouse5328 2 жыл бұрын
@@MD-vs9ff I meant without any framework. Just AVR helpers.
@stark_energy
@stark_energy Жыл бұрын
@@richardlighthouse5328 What it means: using FastIO is not only having near equal the direct (without any framework) but also platform independent. The hard part is always making the code has near highest performance BUT at the same time platform agnostic (i.e. can be run on Mega, ESP32, etc without changing your code).
@JLCPCB
@JLCPCB 2 жыл бұрын
Great video as always! 😀
@stephanemuller7032
@stephanemuller7032 4 жыл бұрын
Great video man! Best explanation I've seen out there. To make your code easier to read you can also use constants like so: DDRB |= (1
@sharingmylittleinsight
@sharingmylittleinsight 2 жыл бұрын
thanks a lottt, it's worked
@kacperfilipek8461
@kacperfilipek8461 2 жыл бұрын
PORTB ^= (1
@nabilandadamslaboratory3422
@nabilandadamslaboratory3422 4 жыл бұрын
This video has finally demystified port manipulation. Thank you!!
@anonymoususer900
@anonymoususer900 4 жыл бұрын
Last time i honestly told you that the video(internal comparator one) wasnt very understandable for intermediate or new people. DRAMATIC IMPOROVEMENT. Awesome tutorial......i will use this in my led cube project.....Thanks!
@saram263
@saram263 2 жыл бұрын
The diagrams of the ports on the arduino board were so helpful and saved me from scrolling through pages of documentation as a noob, thank you!
@piiumlkj6497
@piiumlkj6497 4 жыл бұрын
This is a masterpiece , I love this kind of videos
@saurabhgawli2167
@saurabhgawli2167 4 жыл бұрын
U deserve so much more... Just don't stop ur work... Luv from India ❤
@Idklol-i7y
@Idklol-i7y 4 жыл бұрын
Very informative, thanks for putting in the effort to edit the video. I like the inclusion of the result comparison at 6:50 and the video presentation overall looks professional, I bet new players will learn a lot from this Arduino101 series. Looking for more videos like this one to come soon, again, great job mate.
@Sekhar_Home
@Sekhar_Home 4 жыл бұрын
Finaly clearly able to know bitwise operator use in Arduino... Thanx for ur awesome graphical presentation which makes the education more fun and interactive
@baladshin7100
@baladshin7100 4 жыл бұрын
One of the best videos I’ve ever seen on KZbin for arduino tutorial 😍 keep going bro! 💪🏻 love from IRAN 🇮🇷
@null8363
@null8363 6 ай бұрын
I found this video and channel today, this is extremely amazing, the information and the quallity are top-notch, really thank you for your hardwork
@halitekmekcioglu7150
@halitekmekcioglu7150 4 жыл бұрын
very clear and well explained, I wish I could listen to this in my highschool years :) Lucky newbies
@kaden56
@kaden56 4 жыл бұрын
I will be a serious follower of this more advanced line of arduino info. This is the stuff that makes all my old projects finally work properly 😂
@ManojSharma-ud3ox
@ManojSharma-ud3ox 4 жыл бұрын
You explained it very well. I am a mechanical engineering graduate and have lots of projects which involved heavy use of electronic. This video was very clear and understand everything you said. Well done!!
@wiktormolzahn736
@wiktormolzahn736 3 жыл бұрын
I love you!!! This ist the first Video that explanes everything nicely
@InfoSec_Tori
@InfoSec_Tori 3 жыл бұрын
The production value of your videos is next level... I LOVE the motion tracked labels. New subscriber achieved.
@hrperformance
@hrperformance 3 жыл бұрын
I learned so much from this video. This guy has a serious talent. Much love from the UK
@amarjitmoirangcha4521
@amarjitmoirangcha4521 Жыл бұрын
You are doing great I really like this. Such type of videos are very rare on internet which is teaching on register level for Arduino. Thanks
@markojovanovic165
@markojovanovic165 13 күн бұрын
What a wonderful video! I would love to see more in-deep explanation videos like this!
@richardsteen4340
@richardsteen4340 10 ай бұрын
Excellent tutorial..!! Did some assembly programming years ago in college.. This has helped me to remember things I forgot I had learned..;)
@SaminaZafar270
@SaminaZafar270 4 жыл бұрын
This is the video that I was searching for months. This video is awesome. Please make more arduino tutorials.
@bhargavdayal8595
@bhargavdayal8595 3 жыл бұрын
Bro....This is one of the best explanations i have ever listened to..Great work
@MrAasi4
@MrAasi4 3 жыл бұрын
This is one clearest tutorial of port manipulation. Good job!
@antibrevity
@antibrevity 4 жыл бұрын
This is an excellent explanation of boolean port manipulation that should be easy for newcomers to understand. Great work! I see that others have already pointed out some errors, but this is still a great video.
@alirezaahmadian4237
@alirezaahmadian4237 3 жыл бұрын
right now im at the midle of the video and im so excited about this great explanation that made me write this comment. its great.thats exactully what i needed.
@scottstevens7569
@scottstevens7569 4 жыл бұрын
Very Good Explanation! We really do need more of this type of thing as there is not much available, and not as easy to understand as yours is. Clear, concise and relevant.
@johnni5254
@johnni5254 3 жыл бұрын
Great video! At 12:20 in the upper "loop()" commands, shouldn't those be: PORTD |= 0001000 and PORTD &= 00001000 accordingly? We're trying to set bit 3 of the register (Arduino pin D3). If we leave it as is in the video, it sets bit 1 of the register (Arduino pin D1). Do I miss something?
@kylemfwelch
@kylemfwelch 4 жыл бұрын
I never seen this so clearly explained before. Excellent!
@tanoryjakaperdana1419
@tanoryjakaperdana1419 3 жыл бұрын
Thanks bro.. you explain these stuffs with human language.. subscribed and liked.. 👍👍👍
@PdroAlfMar
@PdroAlfMar 4 жыл бұрын
Puro Oro!!!! Saludos y Gracias por tu aporte a esta comunidad!!!!
@Tuberkulo1
@Tuberkulo1 4 жыл бұрын
Best explanation about Port Register Control so far !
@moinshaikh6684
@moinshaikh6684 4 жыл бұрын
Very Nice Explaination! Fallen in love with this tutorial!
@naikganesh5677
@naikganesh5677 3 жыл бұрын
You nailed it 🔥🔥
@DivyanshMMMUT
@DivyanshMMMUT 4 жыл бұрын
Man, How to thank you more 🔥🔥🔥 We are getting this for free 😱 Please don't Stop keep it coming 😊😊
@rikvermeer1325
@rikvermeer1325 4 жыл бұрын
pssst... We can also contribute :)
@DivyanshMMMUT
@DivyanshMMMUT 4 жыл бұрын
@@rikvermeer1325 yup... I support him.by sharing his videos atleast that's what I can do to support him for now
@ajeethsuryash5123
@ajeethsuryash5123 3 жыл бұрын
Amazing video... Expecting more of such class...
@rajneeshsingh6639
@rajneeshsingh6639 11 ай бұрын
This is the best tutorial for port register control
@rikvermeer1325
@rikvermeer1325 4 жыл бұрын
Amazing channel. I'm from software engineering and I understand this stuff but just don't know it all works like this. Thank you for clarifying!! I became a subscriber
@pedroaugusto5995
@pedroaugusto5995 Жыл бұрын
Nice video, your didactics is something else!
@tcrenegade
@tcrenegade 4 жыл бұрын
Loved this!! I felt like I was finally learning how to use arduino as a tool
@webslinger2011
@webslinger2011 4 жыл бұрын
Wow! Thanks for a very good explanation on the Arduino ports.
@skidroadkustom5953
@skidroadkustom5953 10 ай бұрын
A lot of great info, thanks. I did watch this one at least 15 times
@CNsongs
@CNsongs 2 жыл бұрын
Super helpful. Thank you very much. My university expected expected us to know these magically.
@TYGAMatt
@TYGAMatt 4 жыл бұрын
Very well explained. Wish you'd don't this video a few months ago so that I wouldn't have had to spend hours reading the datasheet and doing it myself. Excellent stuff
@jollyjumper1873
@jollyjumper1873 3 жыл бұрын
Nice video! This is helping me out with my graduation project. Thanks :)
@ChrisLocke1969
@ChrisLocke1969 4 жыл бұрын
One of your best arduino code videos yet, thanks!!
@TimNortonGuru
@TimNortonGuru 4 жыл бұрын
I did not realise the Arduino IDE could accept direct port addressing. Thanks
@jstro-hobbytech
@jstro-hobbytech 3 жыл бұрын
Cool video man. Optimized code gets me going.
@SirLeecher
@SirLeecher 4 жыл бұрын
Explained it really well and helped me understand, very nice !
@myhobbies5965
@myhobbies5965 4 жыл бұрын
Always waiting for such a atmega mcu program learning videos.
@sennabullet
@sennabullet 2 жыл бұрын
A,fantastic explanation made easier to understand with superb animations. Thank you for sharing your knowledge.
@vcrahul
@vcrahul 4 жыл бұрын
Dear frnd..excellent explanation...even better than greatscott's...on this subject...nice...
@stark_energy
@stark_energy Жыл бұрын
A very detailed and great explanation to low-level optimization to Arduino. However we should point out that this only works on specific Arduino type, different type might require different configuration (and thus different code on different platform), while on the other hand a common Arduino function like digitalRead / Write is platform agnostic, it can even run on ESP32 or ESP8266 and many other types that conform with Arduino.h standard without changing code (except the pin number). So, for the sake of simplicity and portability there is always performance hit to pay. This is true for all programming language. The more you into performance, the more specific/limited device your code can work.
@jaroslawpiotrowski210
@jaroslawpiotrowski210 4 жыл бұрын
Very well prepared video about advanced operations on Arduino. Very well explain - THANKS !!! PLEASE continue this subjects for advanced operations !!!
@justdoingodswork
@justdoingodswork 3 жыл бұрын
Thank you so much, its so great to learn these and importance of register. I'll definitely implement these in my codes from now on. Please keep making these videos about advance coding. Thanks again
@soekma_aoeliea
@soekma_aoeliea 4 жыл бұрын
You also could use , some of its function is pretty useful
@DustinWill
@DustinWill 4 жыл бұрын
Best explanation and great animation. Very clearly stated.
@SusanAmberBruce
@SusanAmberBruce 4 жыл бұрын
Thank you, I have been waiting for This tutorial, big help!
@harikamalakarreddydarapu7410
@harikamalakarreddydarapu7410 4 жыл бұрын
Very nice information.and very good explanation
@VorpalForceField
@VorpalForceField Жыл бұрын
Absolutely Fantastic Content.. Thank You !!!
@nyakoi
@nyakoi 4 жыл бұрын
Thank you! Always good to learn something new 😀
@amnesie6615
@amnesie6615 4 жыл бұрын
This is what I've subscribed for! COOL! Thank you!
@nid274
@nid274 4 жыл бұрын
this is great..i never imagined there would nano to micro variation!!
@sawansihag6974
@sawansihag6974 3 жыл бұрын
Thanks for sharing this precious knowledge ❤️❤️🔥
@simplyishan06
@simplyishan06 2 жыл бұрын
Incredible is an understatement...
@littlemadness221990
@littlemadness221990 4 жыл бұрын
Great video ! This is a perfect foundation for future learning.
@jotyhasan4846
@jotyhasan4846 Жыл бұрын
You r so great! Love u so much❤️❤️❤️
@curiouslittledroid1234
@curiouslittledroid1234 4 жыл бұрын
Great presentation. Nice video editing and great use of motion graphics.
@markogvero5836
@markogvero5836 3 ай бұрын
Thank you so so much for this amazing explanation! It really helped a lot
@GrandNecro
@GrandNecro 4 жыл бұрын
best tutorial i've found yet! i do have a question though. how do you read analog value? PINC register only stores the digital value of the analog pins.
@astrogerard
@astrogerard 4 жыл бұрын
Very good video and thanks for taking the time to do this. I think the views counter is broken because in my opinion it should be at lease 10 timers higher by now. I would like to see more advance content like this. Please consider making an advance video on interrupts using -all- the pins of the Arduino. Thanks!
@ELECTRONOOBS
@ELECTRONOOBS 4 жыл бұрын
Next part will be on interrupts
@chiparooo
@chiparooo 4 жыл бұрын
Very interesting! Great graphics. Learned a lot. Thanks for sharing!
@jawwadahmad7774
@jawwadahmad7774 4 жыл бұрын
Hard-Work 👍. Easy to Understand.
@vitorlima2908
@vitorlima2908 4 жыл бұрын
Muito show sua apresentação. Curto muito o seu canal. Vc é sensacional.
@Taran72
@Taran72 4 жыл бұрын
Great explanation!! Thanks.
@ELECTRONOOBS
@ELECTRONOOBS 4 жыл бұрын
ERROR: To invert a byte we use "~" and not the "!" Sowy! :) Arduino Course (Spanish): bit.ly/3ldW6kO Follow me on FACEBOOK for more: facebook.com/Electronoobs Help me on Patreon: www.patreon.com/ELECTRONOOBS
@bilelhafsi3320
@bilelhafsi3320 4 жыл бұрын
Thank you for the vidéo!!! Could you please tell me which software do you use to make video animations ?
@monleyson8668
@monleyson8668 3 жыл бұрын
Ok
@SudhirKumar-bq4xz
@SudhirKumar-bq4xz 4 жыл бұрын
Great and informative video as always.... :-) Sir, please make a video on how to interface external ADCs, selection of ADC, important specification while selecting a ADC.....
@deepakjoshi6242
@deepakjoshi6242 4 жыл бұрын
Okay, I'll be honest, Amazing 👏👏 I love the animation🥺 Even greatscott covered this topic before but I really liked the animation approach. Thank you so much. 🙏❤️
@jimg9294
@jimg9294 4 жыл бұрын
Thank you, this tutorial is excellent!
@ShubhamSharma-oq4ru
@ShubhamSharma-oq4ru 4 жыл бұрын
Thanks for great information ❤️❤️❤️
@KresnaPermana
@KresnaPermana 4 жыл бұрын
This video is awesome, thank you to show us
@FixTronics
@FixTronics 4 жыл бұрын
U R absolutely awesome I needed these information way long time ago Thank you for sharing it 🥰⚘
@arunbaalaji5589
@arunbaalaji5589 4 жыл бұрын
Great explanation bro ☺️
@RinksRides
@RinksRides 4 жыл бұрын
Awesome floating graphics and text!! I just finished a tutorial on Attiny85 complimentary output PWM 250KHz to 1MHz+ this could inspire me to finally make YT tutorials.
@ELECTRONOOBS
@ELECTRONOOBS 4 жыл бұрын
Go for it :)
@kendallbarboza6477
@kendallbarboza6477 4 жыл бұрын
Excellent video man, thanks!
@abpccpba
@abpccpba 2 жыл бұрын
Thanks, Wonderful Graphic.
@Danixu86
@Danixu86 4 жыл бұрын
Nice tutorial. There are a lot of things that I did not understand until now. Also would be nice to have any tutorial like this talking about Timers and how to change it to change PWM signals for example.
@PhamhongDung68
@PhamhongDung68 2 жыл бұрын
Thanks very much for this clip!
@nqobilesibisi3544
@nqobilesibisi3544 2 жыл бұрын
now this is what im talkin about! 😃😃 , wow !
@prathambumb5593
@prathambumb5593 4 жыл бұрын
Excellent 👍 Content 👍👌
@Crea7orX
@Crea7orX 4 жыл бұрын
Thank you for that lesson!
@khasibkhabibi3158
@khasibkhabibi3158 3 жыл бұрын
THANK YOU SO MUCH!!!!😭😭
@stevenrogersfineart4224
@stevenrogersfineart4224 2 жыл бұрын
This is such an excellent video
@ranaharsh365
@ranaharsh365 4 жыл бұрын
Finally something that I badly needed.....
Pin Change Interruptions ISR | PCINT | Arduino101
14:19
Electronoobs
Рет қаралды 59 М.
UFC 310 : Рахмонов VS Мачадо Гэрри
05:00
Setanta Sports UFC
Рет қаралды 1,2 МЛН
“Don’t stop the chances.”
00:44
ISSEI / いっせい
Рет қаралды 62 МЛН
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
Optimizing Arduino Code: no setup(), no loop() ⛔
9:27
Wokwi
Рет қаралды 213 М.
Brushless DC Speed Controller
15:11
Hyperspace Pirate
Рет қаралды 394 М.
EEPROM Memory - Store Anything - Arduino101
13:16
Electronoobs
Рет қаралды 113 М.
Timer Interrupt ISR + Examples | Arduino101 | Set Registers & Modes
16:13
Level Up Your Arduino Code: External Interrupts
18:55
SparkFun Electronics
Рет қаралды 175 М.
3 engineers race to design a PCB in 2 hours | Design Battle
11:50
Predictable Designs
Рет қаралды 554 М.
Experimenting with Buses and Three-State Logic
18:43
Sebastian Lague
Рет қаралды 628 М.
Bare-Metal MCU #1 - Intro to registers
13:10
Mitch Davis
Рет қаралды 80 М.
UFC 310 : Рахмонов VS Мачадо Гэрри
05:00
Setanta Sports UFC
Рет қаралды 1,2 МЛН