TUT STM32F103xx

ducpkh

Sinh viên đại học
#42
Có bác nào làm kết nối với keypad4x4 chưa? Hướng dẫn mọi người với!
 

hoangvanloc

Học sinh trung cấp
#43
có bác nào rảnh về usb thì tut cho anh em một bài đi. Em đọc nhiều luồng rùi, nhưng hình như tất cả các luồng usb ở các diễn đàn đều là copy chình sửa của nhau, nhưng thấy mọi người đều không đưa ra được cách lấy dữ liệu từ máy tính đưa xuống.
Mong bác demon52 giải thích dùm về em usb nhận dữ liệu và xử lý dữ liệu từ usb xuống thế nào.
thanks.
Nó lấy dữ liệu qua endpoint. Thực chất là khi có dữ liệu gửi xuống ngắt sẽ chạy đến chương trình nhận endpoint này. Còn dữ liệu cấu hình thế nào bạn phải cấu hình cho Descriptor cho nó
 

luctieuphung

Học sinh trung cấp
#44
các bác cho em hỏi cấu hình projetc trên Keil C xong là mặc định nó đẩy dao tần số hoạt động lên 72Mhz rồi ạ ( với thạch anh 8Mhz). em thấy trong file system_stm32f10x.c có hàm SystemInit() dùng để cấu hình dao động vạy tại sao trong keil C mà vẫn đẩy dao động lên được 72Mhz. Mong các bác vào chỉ giúp em ạ !
 

huunho

Thạc sỹ
#45
các bác cho em hỏi cấu hình projetc trên Keil C xong là mặc định nó đẩy dao tần số hoạt động lên 72Mhz rồi ạ ( với thạch anh 8Mhz). em thấy trong file system_stm32f10x.c có hàm SystemInit() dùng để cấu hình dao động vạy tại sao trong keil C mà vẫn đẩy dao động lên được 72Mhz. Mong các bác vào chỉ giúp em ạ !
đẩy dao động lên 72Mhz chỉ cần 3 câu lệnh, mà phần mềm nào chả làm thế được chứ ko phải mỗi keil c
 

huunho

Thạc sỹ
#47
mặc định là 8Mhz, tùy từng họ mà có thông số khác nhau
 

luctieuphung

Học sinh trung cấp
#48
bác huunho cho em hỏi tiếp với:
em không config clock lên 72Mhz.
em tạo Project GPIO, hàm delay 1 dây như sau và em tính tương đối tầm 1s ( của anh Demon52).

Mã:
void Delay(__IO uint32_t num)
{
    __IO uint32_t index = 0;
    for(index = (720000 * num); index != 0; index--)
    {
    }
}
hàm Delay(1); cho em delay 1s, vậy bác cho em hỏi clock 8Mhz thì hàm trên tính kiểu gì ra được 1s ạ !
 

huunho

Thạc sỹ
#49
cách trên kém chính xác lắm, để tính ra 1s thì bạn phải debug hoặc dựa trên thực nghiệm để tính. bạn vô hiệu các ngắt rồi cho nó delay hẳn 30s cho dễ tính.

Cách khác chuẩn hơn là dùng hàm delay tạo ra bởi systick do ST cung cấp:
HAL_Delay(__IO uint32_t Delay) ;
thông số đưa vào là ms, nếu muốn us thì thay đổi xung nhịp của systick
 

luctieuphung

Học sinh trung cấp
#50
Systick thì em dùng rồi, hôm nay lật lại cái clock để xem lại thì nảy sinh vấn đề cấu hình kia, vì trước đây cũng như bây h em không quan tâm đến nó lắm, bởi code các ngoại vi khác chạy được là được. Còn dùng HAL sẵn quá em không muốn ạ !
 

Quảng cáo Google