phandinhkhanh1995
Thành Viên PIF
sau vài ngiên cứu và xem bài giảng nhóm em có một số thắc mắc trong ví dụ mẫu của D.I.D mong được sự giúp đỡ của anh chị ak :
Về GPIO :
Câu 1: ví dụ : SysCtlPeripheralEnable(uint32_t ui32perpheral) --> uint32_t và ui32peripheral là gì ak?
GPIOPinTypeGPIOGPIOOutput(uint32_t ui32port, uint8_t ui8pins) --> uint32_t va ui32port là gì ak ? em nghĩ là 32 bit nhưng ko biet nó có ý nghĩa gi?
câu 2: Trong các hàm cấu hình thì :
ví dụ như muốn cấu hình cho một chân là output thì :
gồm các hàm này(trong code mẫu): SysCtlPeripheralEnable()
GPIOPinTypeGPIOOutput()
GPIOPinWrite()
trong cấu hinh input thì(trong co de mẫu ):
SysCtlPeripheralEnable()
GPIODirModeSet()
em thấy trong này nếu ta thay GPIODirModeSet() bằng GPIOPinTypeGPIOinput() có được không ak ! và tại sao hàm chế độ output lại không có : GPIODirModeSet()
Câu 3: trong code mẫu về ngăt :
trong hàm phục vụ ngắt :
void ButtonISR(void)
{
static int tick = LED_RED;
GPIOIntClear(GPIO_PORTF_BASE,SW1);
GPIOPinWrite(GPIO_PORTF_BASE,LED_RED|LED_GREEN|LED_BLUE,tick);
tick <<=1;
if(tick>GPIO_PIN_3)
tick= LED_RED;
SysCtlDelay(SysCtlClockGet()/3);
}
--> ý nghĩa của delay ở đó là sao ak , nếu đặt vị trí khác có sao không ?
Câu 4: cũng trong code mẫu về ngắt : thì ngắt tại sao lại là dùng hàm ngắt toàn cục mak không phỉ là ngắt cục bộ ?
Câu 5: hàm #include<stdbool.h> và #include<stdint.h> và #include"driverlib/sysctl.h"
mục đích của các hàm này để làm gì ak ?
Phần Timer:
trong ngắt của GPIO thì : gồm có : kiểu ngắt , đăng kí ngắt , cho phép ngắt
GPIOIntypeSet()
GPIOIntRegister()
GPIOIntEnable()
IntEnalbe()
IntMasterEnable()
còn trong timer : chỉ có cho phép ngắt sao không có dăng kí ngắt và kiểu ngắt
IntEnable()
TimerIntEnable()
IntMasterEnable()
Câu 6: trong video bài giảng về PWM thì anh chị nói rõ giùm em về tạo vùng trễ(Dead-band) với ak!
Em cám ơn!
Về GPIO :
Câu 1: ví dụ : SysCtlPeripheralEnable(uint32_t ui32perpheral) --> uint32_t và ui32peripheral là gì ak?
GPIOPinTypeGPIOGPIOOutput(uint32_t ui32port, uint8_t ui8pins) --> uint32_t va ui32port là gì ak ? em nghĩ là 32 bit nhưng ko biet nó có ý nghĩa gi?
câu 2: Trong các hàm cấu hình thì :
ví dụ như muốn cấu hình cho một chân là output thì :
gồm các hàm này(trong code mẫu): SysCtlPeripheralEnable()
GPIOPinTypeGPIOOutput()
GPIOPinWrite()
trong cấu hinh input thì(trong co de mẫu ):
SysCtlPeripheralEnable()
GPIODirModeSet()
em thấy trong này nếu ta thay GPIODirModeSet() bằng GPIOPinTypeGPIOinput() có được không ak ! và tại sao hàm chế độ output lại không có : GPIODirModeSet()
Câu 3: trong code mẫu về ngăt :
trong hàm phục vụ ngắt :
void ButtonISR(void)
{
static int tick = LED_RED;
GPIOIntClear(GPIO_PORTF_BASE,SW1);
GPIOPinWrite(GPIO_PORTF_BASE,LED_RED|LED_GREEN|LED_BLUE,tick);
tick <<=1;
if(tick>GPIO_PIN_3)
tick= LED_RED;
SysCtlDelay(SysCtlClockGet()/3);
}
--> ý nghĩa của delay ở đó là sao ak , nếu đặt vị trí khác có sao không ?
Câu 4: cũng trong code mẫu về ngắt : thì ngắt tại sao lại là dùng hàm ngắt toàn cục mak không phỉ là ngắt cục bộ ?
Câu 5: hàm #include<stdbool.h> và #include<stdint.h> và #include"driverlib/sysctl.h"
mục đích của các hàm này để làm gì ak ?
Phần Timer:
trong ngắt của GPIO thì : gồm có : kiểu ngắt , đăng kí ngắt , cho phép ngắt
GPIOIntypeSet()
GPIOIntRegister()
GPIOIntEnable()
IntEnalbe()
IntMasterEnable()
còn trong timer : chỉ có cho phép ngắt sao không có dăng kí ngắt và kiểu ngắt
IntEnable()
TimerIntEnable()
IntMasterEnable()
Câu 6: trong video bài giảng về PWM thì anh chị nói rõ giùm em về tạo vùng trễ(Dead-band) với ak!
Em cám ơn!