Пікірлер
@user-ud6dw3pu1h
@user-ud6dw3pu1h 3 күн бұрын
Thank you very much for your effort. Well, it is an advanced way of explaining a subject that is difficult to understand, even for beginners. Thanks again. I am actually determined to benefit from all these episodes.
@filipp7611
@filipp7611 4 күн бұрын
Can't compile this for PIC16F877, is it possible at all? The main error is "use of undeclared identifier 'LATAbits'".
@Microesque
@Microesque 4 күн бұрын
PIC16 microcontrollers are very old and use a different architecture; you shouldn't use them even for learning purposes, unless you have to. You can check the comment from "@joshuvajohnvarghese2372" below, where I explained the issue further. Basically you can make it work by: 1 - Changing the LAT... definitions in the header file to their PORT... equivalent. 2 - Making sure the pins you're using are properly set to digital (use PCFG bits in ADCON1). 3 - Making sure to not use an open-drain only pin.
@filipp7611
@filipp7611 4 күн бұрын
@@Microesque Thank you a lot for the quick answer, I just have 6 units of 16f877 and don't want to buy new ones until I use those, next time will buy something new.
@brettholden3763
@brettholden3763 7 күн бұрын
FOCUS
@FatihAkkaya-vo7xp
@FatihAkkaya-vo7xp 15 күн бұрын
What book did you use?
@Microesque
@Microesque 14 күн бұрын
No books, just "XC8 User's Guide" and general C knowledge.
@sravankumarreddy8063
@sravankumarreddy8063 Ай бұрын
Hello sir, Good article which would be helpfull for beginers, But when i am using alternating signal to detect zero crossing signal, I am not able to find the signal whether it crosses zero axis. I am using to detect three phase(440v 50Hz) by zerocrossing with the help of PIC12f1501. Could you please help me on that or can you please make one tutorial on that.
@Microesque
@Microesque Ай бұрын
There are many ways to detect zero crossings, you don't even really need a microcontroller depending on what you're trying to do. Without seeing your circuit I can't really help you.
@maiszaaim8843
@maiszaaim8843 Ай бұрын
best yt tutor ever
@mustafashaikh6742
@mustafashaikh6742 2 ай бұрын
Can make a video in adc conversation in pic microntroller
@Microesque
@Microesque 2 ай бұрын
That is supposed to be the next video on the list, but I haven't had the time to make videos for a while now😟
@maiszaaim8843
@maiszaaim8843 2 ай бұрын
thank you, thank you till the world ends
@Microesque
@Microesque 2 ай бұрын
Thanks 👍
@RajinderSingh-bx3cz
@RajinderSingh-bx3cz 2 ай бұрын
Thank you so much for this video. If possible please continue to make more videos.
@Microesque
@Microesque 2 ай бұрын
Thanks 👍 I want to, believe me, but it doesn't seem like it'll be possible for a while still...
@fifaham
@fifaham 2 ай бұрын
@27:07 I believe this will reduce power consumption and decrease the latency period for the ISR mechanism to respond to an external request - because of how IRQ works.
@Microesque
@Microesque 2 ай бұрын
That depends. Most of the time, efficiency won't change since you'll enter and leave the interrupt routines the same number of times. Power consumption would only reduce if you also utilized low-power modes along with interrupts. As an extra note: Jumping to the interrupt routine takes 3-4 instructions. Checking which interrupt routine has been fired also takes many instructions. If you're using two interrupt routines at the same time, that also adds a bunch of instructions since there's only one set of "shadow registers" for this microcontroller. So technically, depending on the application, interrupts may even reduce the efficiency.
@dabeasthalofan6276
@dabeasthalofan6276 2 ай бұрын
I'm using a PIC24FJ64GU205 Curiosity Nano, used your code and redefined all the pins for my device and nothing displays on my LCD :(. I did however skip the OSCCON code in the main file. Not sure how this would impact my results.
@cesarborjaruiz3584
@cesarborjaruiz3584 3 ай бұрын
Just watched all ur videos, the best mC videos to ever be released! Congrats
@dami_wick
@dami_wick 3 ай бұрын
great video ! anyways do you know how to change the font color of the "groups" (I'm not sure what it's called, when i click on set configuration bits under production, the tab appears on the bottom. i want to change the font color of it.) thanks
@Microesque
@Microesque 3 ай бұрын
Anything custom from Microchip in the IDE (NetBeans) seems to use hard-coded colors. There's an output tab in the miscellaneous options, but it only seems to work on native NetBeans windows. Windows for MCC or analyzers are still completely white too. Unfortunately, there's no official support for dark-mode, so this is all we get. You just have to bear with it, or accept getting flashbanged forever...
@waynegnarlie1
@waynegnarlie1 3 ай бұрын
For those unable to see their own named general purpose register names (labels) in watches and variables, do this: Click the toolbox (Project Properties) icon from the Dashboard (extreme upper left icon), then select 'mpasm (Global Options)' and check the box for 'build in absolute mode', apply and exit. Then debug. It's taken me a couple of years to getting around to finding this fix, I have searched countless Microchip forums and watched as many YT videos to no avail. Hope this helps you.
@proxy7547
@proxy7547 3 ай бұрын
you are the best !
@Microesque
@Microesque 3 ай бұрын
Thanks 👍
@badalnishant9203
@badalnishant9203 4 ай бұрын
What a nice explaination you have done, do you have any other courses on advanced emebdded system. pls share .
@Microesque
@Microesque 4 ай бұрын
Thanks 👍I don't have any courses or anything like that. This is kind of like a hobby I do for fun.
@hassanrezaei6837
@hassanrezaei6837 4 ай бұрын
You are wonderful, bro
@Microesque
@Microesque 4 ай бұрын
You too my man 👍
@sivapriyarnath4377
@sivapriyarnath4377 4 ай бұрын
What is the built-in function for pic24fj128ga704
@Microesque
@Microesque 4 ай бұрын
PIC24 are 16-bit microcontrollers, so the process is a little different. This is why I try to tech how to read datasheets and manuals. Answers to questions like these will almost always be somewhere in the user's guide of the compiler. I've included a short and a long answer below. I recommend reading both, but it's up to you 👍 ------------------------------- *Short answer:* -> Define the "FCY" macro as the instruction frequency of your microcontroller, so for 10MHz: _"__#define__ FCY 10000000UL"_ -> Include the "libpic30.h" library in your code: _"__#include__ <libpic30.h>"_ -> Now you should be able to use the same "__delay_ms()" and "__delay_us()" functions. Be careful, you need to define "FCY" before including the library! ------------------------------- *Long answer:* -> If you open the XC16 user's guide ( ww1.microchip.com/downloads/en/DeviceDoc/50002071K.pdf ) and go to page 63, there is a section for "How Can I Implement a Delay in My Code?". There, it tells you that there are library functions, but you have to download it to use them. It also directs you to another manual dedicated to 16-bit libraries for XC16. -> If you open the 16-bit libraries document ( ww1.microchip.com/downloads/en/DeviceDoc/16-Bit-Language-Tools-Libraries-DS50001456K.pdf ) and read the introduction etc, it tells you that the XC16 comes with the libraries pre-installed already. You just have to explicitly include them in your code. -> Now you can just search the term "delay" in the page to see your options. After finding the function you're looking for, it tells you which library you have to include, the signature of the function, and also a general description. I recommend you glance over some of the functions, as there are a lot of convenient ones that may catch your eye 👍
@JacksonBockus
@JacksonBockus 4 ай бұрын
It’d be great if you could provide links to the data sheets you’re using.
@Microesque
@Microesque 4 ай бұрын
It's very easy to find datasheets aside from the lesser-known brands, so I didn't bother. Just type the name of your chip + "datasheet", and it should be the first link 👍
@hassanrezaei6837
@hassanrezaei6837 4 ай бұрын
Very useful 😍
@tedbastwock3810
@tedbastwock3810 4 ай бұрын
AMAZING content, thank you !!! 🙏
@Microesque
@Microesque 4 ай бұрын
Thanks 👍
@tedbastwock3810
@tedbastwock3810 4 ай бұрын
Fantastic explanation, super clear
@tedbastwock3810
@tedbastwock3810 4 ай бұрын
Good intro to datasheets, and great explanation and example of the wrapping capability of C vs. assembly. Very useful, thank you
@Microesque
@Microesque 4 ай бұрын
Thanks 👍
@tedbastwock3810
@tedbastwock3810 5 ай бұрын
Wow, such a clear explanation, I never knew this, thank you
@Microesque
@Microesque 5 ай бұрын
Thanks 👍
@tedbastwock3810
@tedbastwock3810 5 ай бұрын
On video 4 of 18 .. this is a fantastic video series, well done and thank you 🙏
@Microesque
@Microesque 5 ай бұрын
No, thank YOU for watching 👍
@anithasshenoy6662
@anithasshenoy6662 5 ай бұрын
I have not seen registers explained in a more simpler manner. I have trying to understand these , but found too much of undigestable jargon. Tris registers -> PIN as INPUT or OUTPUT Lat registers -> PIN as HIGH or LOW Port registers -> READS PIN HIGH or LOW ANSEL registers -> PIN as ANALOG or DIGITAL WPU -> Enable / Disable INTERNAL PU-UP Resistors How simple to understand!! Great job. Thank you.
@Microesque
@Microesque 5 ай бұрын
Glad you found it useful 👍
@weekendle5564
@weekendle5564 5 ай бұрын
Hello, I am using PIC32MK052MCJ and MPLAB X IDE v6.05, and I am running into issue when following your example. It's break the breakpoint whenever I debugging! Do you know how to fix it?
@Microesque
@Microesque 5 ай бұрын
@@weekendle5564 Glad you resolved your issue 👍
@vigneshpr.5814
@vigneshpr.5814 5 ай бұрын
Can you make any tutorials on using JTAG or much more about debugging techniques
@Microesque
@Microesque 5 ай бұрын
I already have a debugging tutorial series, which is mostly done. Aside from that, I plan on keeping this series to this particular microcontroller and programmer for now. Maybe in the future 👍
@syaffiqriyaacob9800
@syaffiqriyaacob9800 5 ай бұрын
Sorry sir i just want to ask do you have adc.h library tutorials
@Microesque
@Microesque 5 ай бұрын
Unfortunately, not yet. That's supposed to be the next video on the list, but I haven't had the chance to work on it for a long time.
@volerdenuit1582
@volerdenuit1582 5 ай бұрын
you are GREAT
@Microesque
@Microesque 5 ай бұрын
Thanks 👍
@mitchellhw2006
@mitchellhw2006 5 ай бұрын
What happened to 2's compliment notation for subtraction?
@mitchellhw2006
@mitchellhw2006 5 ай бұрын
I was born during the dinosaur period....thought maybe it was not used anymore. (we counted using dinosaur bones)@@Microesque
@icarossavvides2641
@icarossavvides2641 6 ай бұрын
Very interesting, at about 15:45, you mention maximum source and sink currents, whilst the user needs to take notice of these limits they must also take in to account the maximum chip dissipation i.e. don't expect to be able to source or sink the maximum current through all the IO pins at the same time.
@Microesque
@Microesque 6 ай бұрын
Of course. I was just trying to keep it simple since most of them rarely matter 👍 There are a bunch of limiting factors, and which ever one is the most limiting will apply. Max instantaneous current, max continuous current, max port current, max device current, max temperature, max power dissipation etc... Also, these are absolute maximum values. Ideally, you should never get close to these.
@ryleebrownfox
@ryleebrownfox 6 ай бұрын
He is right. I'm a beginner and experience the same mismatch problem. Thank you very much
@Microesque
@Microesque 6 ай бұрын
Appreciate the compliment 👍
@ngtony5428
@ngtony5428 6 ай бұрын
In learning , I like separate 21 file . I watched more than 10 youtube about PIC LED , YOU ARE THE BEST. THANK.
@thanhphucnguyen8436
@thanhphucnguyen8436 6 ай бұрын
Very useful tutorial, thank you so much
@Microesque
@Microesque 6 ай бұрын
Thanks 👍
@LandLord-od8pr
@LandLord-od8pr 6 ай бұрын
good job
@jeroenwk
@jeroenwk 7 ай бұрын
These tutorials are great. If you are new to PIC programming like me it will help you to get up to speed in very little time. It’s very well explained and it is amazing how much knowledge is compressed into just some minutes of video. 👍🏻
@Microesque
@Microesque 7 ай бұрын
Thanks 👍
@homemade-it2495
@homemade-it2495 7 ай бұрын
Before it was socomplicated for me to understand assembly language to talk directly to microcontrollers, since i found your channel my understanding levels up. Many thanks from Morocco 😊
@Microesque
@Microesque 7 ай бұрын
Glad it was helpful 👍
@sapient_design
@sapient_design 7 ай бұрын
FYI! If using a PIC16F74 MCU then during the "Configuring the library for your connections" section, Change LATAbits.LATA0 to PORTAbits.RA0 and so on for 1,2,3,4,5 This had me stumped for awhile. After consulting the datasheet I was able to identify the issue. Thanks for the awesome video!
@Microesque
@Microesque 7 ай бұрын
Yeah, PIC16 microcontrollers are ancient and don't have LAT bits; they use their PORT bits to change their outputs. Ideally, no one should use them in this day and age. If you have any questions you can just mail me btw, I usually check it every day 👍
@SanelKeys
@SanelKeys 7 ай бұрын
My second comment on this video, after while: I use your code as reference for making my own libraries. I use CCS PIC C. I've made my own headers for every PIC I use, just like headers in XC8. So, every register has bit names like those in XC8, just like every register has same or similar names, and is used in very similar fashion (dereferencing appropriate union).
@Microesque
@Microesque 7 ай бұрын
I'm assuming it worked out then 👍 Normally, ordering of the bit-fields is implementation defined in C; XC8 compiler strictly states that it orders them by their definition order, I guess that's also how CCS compiler is too.
@SanelKeys
@SanelKeys 7 ай бұрын
@@Microesque CCS has hidden bit definitions, that I was unable to find. It's part of so called built in code of compiler. One of reasons I've made my structures/unions was an exercise for working with unions and structures, emulating CMSIS and bare metal programming for the STM32 MCUs.
@OviMG
@OviMG 7 ай бұрын
Ok, but the question is, does the led turn on when bit is 1 or bit is 0? TRISE = 0b11111110; LATE = 0b00000001; because from this code the led (coresponding to the last bit) is turning OFF, while you said "1" is for turning the led ON
@Microesque
@Microesque 7 ай бұрын
When the LAT bit is 1, the pin connects to positive rail; if the LAT bit is 0, the pin connects to ground, that's all LAT bit does. If the cathode (-) pin of your led is connected to the microcontroller and the resistor connected to the positive rail, the LED will turn on when the LAT bit is 0.
@OviMG
@OviMG 7 ай бұрын
@@Microesque Thank you so much! Now, it makes sense!
@Microesque
@Microesque 7 ай бұрын
@@OviMG np 👍
@sisakestgroup
@sisakestgroup 7 ай бұрын
ThANK YOU SO MUCH FOR ALL THERE VIDEOS, THANK YOU
@Microesque
@Microesque 7 ай бұрын
Thanks 👍
@bakeronews1
@bakeronews1 8 ай бұрын
The font size is too small. It’s difficult to see what you’re explaining.
@suntzu1409
@suntzu1409 8 ай бұрын
This by far the best series on programming PIC that i have come across. To anyone watching this, make sure to check out various resources in the video descriptions
@Microesque
@Microesque 8 ай бұрын
Appreciate the compliment 👍
@pradeepmenaria2364
@pradeepmenaria2364 8 ай бұрын
Excellent
@Microesque
@Microesque 8 ай бұрын
Thanks 👍
@abdulbarirawan5694
@abdulbarirawan5694 8 ай бұрын
❤❤❤
@mega2034
@mega2034 8 ай бұрын
Hello my friend, Transistors are 0 or 1 only when they are switch mode, but in amplification mode they can range between o and 5. By the way, I like your videos a lot.
@prasanthchigurupatii
@prasanthchigurupatii 9 ай бұрын
Awesome explanation, Kind request to Explain for I2C+PCF8574A +LCD
@prasanthchigurupatii
@prasanthchigurupatii 9 ай бұрын
👏👏👏👏👏👏👏