em đang lập trình cho kit tiva arm tm4c 123 và gặp rắc rối khi lập trình
1.khi muốn điều khiển hết các chân của 1 port nào đó thì phải làm thế nào
vd: như lệnh GPIOPinWrite(GPIO_PORTB_BASE,GPIO_PIN_0,0x0f) chỉ điều khiển được pin0 của port B còn giờ muốn điều khiển cả port B thì phải làm thế nào ạ?
2.có thể cấp xung cho cả port B lẫn port D được ko ạ?
vd: có thể dùng lệnh SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB|SYSCTL_PERIPH_GPIOD)
Cần giải đáp thắc mắc về lập trình arm tiva tm4c123
bạn có thể tác động trực tiếp vào thanh ghi của nó luôn. Nhưng thường các dòng 32bit thì phải khai báo chõ mỗi pin của mỗi port như chức năng, mode, mapping tới ngoại vi nên người ta thường chỉ tác động lên pin riêng lẻ thôi.
Bạn muốn tác động cả port thì viết thêm hàm có tham số là một số 16bit. Trong hàm ta đọc từng bit của số trên và set giá trị tương ứng cho mỗi pin.
Có thể cấp clock như bạn nói được.
ý bạn là đọc từng port như thế này hả
GPIOPinWrite(GPIO_PORTB_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,maled[i])
bạn phải tự viết hàm xử lý thằng mã led đó :v.Đọc từng bit rồi set lên tương ứng dùng gpiopinwrite ấy.
Thế nếu muốn so sánh giá trị 1 pin của port D thì dùng lệnh gì bạn
Thư viện của nó có GPIOWrite không ?
Bạn dùng gpio read các làm tương tự vậy thôi. Chắc chắn trong thư viện của bạn có hàm này. Hoặc khó hơn bạn nên tìm hiểu thanh ghi của gpio ngoại vi để đọc trực tiếp.
hình như nó là thư viện GPIO luôn mà
cảm ơn bạn.để mình thử