Gửi sơ đồ mạch của bạn xem thửMình mắc 1 con 74595 thì xuất tín hiệu đúng, chơi thêm 1 con nối tiếp (xuất 2 bytes) thì chỉ đúng con đầu....
Đang tính tới chuyện bỏ cuộc, về quê cắm câu, thật là... gian nan bắt đầu nản!
xin bạn giải thích rõ cho mình hơn về hàm SSP_Send( ).thankQua tham khảo driver ssp trong mớ driver mà anh Hải chép ở buổi tranning đầu, mình đã test SPI thành công.
file sspi.c đính kèm đã lược gần hết so với file gốc những phần không cần thiết cho việc truyền spi qua 74hc595.
Bộ spi dùng là SPI1. Kết nối với 74hc595 qua 3 chân:
- 2.1: CLK
- 2.3: MOSI // Master out Slave in
- 2.0: chân GPIO tạo clock cho chân latch clock của 74hc595.
ok.thank so muchHàm extern void SSP_Send(uint8_t *Buf, uint32_t Length ) :
- Buf là pointer trỏ đến byte dữ liệu 8bit đầu tiên cần truyền.
- Length là số byte được truyền tính từ byte đầu tiên.
Trong khai báo mảng: uint8_t a[6]; : Mảng a[6] có 6 phần tử là a[0], a[1], a[2], a[3], a[4], a[5]. a chính là pointer trỏ đến phần tử a[0] (hay *(a+0) ).
Vậy để truyền 3 byte: a[0], a[1], a[2], ta viết: SSP_Send(a, 3).
Ok chứ!