Professional Documents
Culture Documents
Hình 1-3. Một breadboard với các đường nối được cung cấp
Dây điện DuPont
Nhiều người dùng không để ý nhiều về hệ thống dây điện của breadboard, nhưng
dây DuPont có thể tạo ra một sự khác biệt rất lớn. Có thể tự cắt và tuốt dây nhưng
nó bất tiện và mất thời gian. Sẽ thuận tiện hơn khi có sẵn một hộp dây điện. Hình
1-4 minh họa một số dây dẫn DuPont.
Hình 1-4. Dây điện DuPont
Tụ Bypass 0,1 uF
Có một số dự án trong cuốn sách cần sử dụng tụ điện. Hình 1-5 chứa tụ Bypass
0,1uF là linh kiện có màu vàng trong hình.
Hình 1-5. Breadboard với STM32F103C8T6 và tụ Bypass 0,1uF được cắm trên các
đường nối.
Bộ chuyển đổi USB TTL
Thiết bị này rất cần thiết cho một số dự án trong cuốn sách này. Hình 1-6 minh họa
một loại của thiết bị này. Bộ chuyển đổi này được sử dụng để truyền dữ liệu đến
máy tính để bàn / máy tính xách tay. Nếu không có màn hình hiển thị, nó cho phép
giao tiếp thông qua một liên kết nối tiếp ảo (qua USB) đến một chương trình điểm
mút.
Hình 1-6. Cáp chuyển đổi USB (TTL)
Đây là thiết bị 5V thông thường và tương thích TTL. Tuy nhiên, lưu ý rằng một
trong những tính năng của dòng thiết bị STM32F103 là nhiều chân GPIO có dung
sai 5 volt, mặc dù MCU hoạt động với nguồn + 3,3 volt. Điều này cho phép sử
dụng các bộ chuyển tiếp TTL này mà không gây hại. Các thiết bị cần thiết khác có
thể hoạt động với nguồn 3,3-volt hoặc có thể chuyển đổi giữa 5 và 3,3 volt.
Bộ nguồn
Hầu hết các dự án được trình bày chỉ hoạt động tốt với đầu ra nguồn của bộ chuyển
đổi USB hoặc TTL. Nhưng có một số dự án có thể cần một bộ đổi nguồn. Hình 1-7
minh họa một bộ biến đổi tốt để cung cấp điện cho breadboard.
Hình 1-7. Một nguồn cung cấp điện breadboard và bộ chuyển đổi 7.5 VDC
MB102 khá thuận tiện vì nó có thể chuyển đổi để cung cấp điện 3,3 volt hoặc 5
volt. Ngoài ra, nó bao gồm nút bật / tắt nguồn.
Bộ chuyển đổi thường để cung cấp nguồn điện đầu vào. Trong khi MB102 cấp
nguồn lên đến 12 volt đầu vào, hầu hết 9 bộ chuyển đổi VDC có điện áp mạch mở
gần 13 vôn hoặc nhiều hơn.
Bộ sạc điện thoại Ericsson cũ sử dụng 7,5 VDC ở 600 mA. Nó đo một điện áp
không tải ở 7.940 volt. Nó gần với các đầu ra 5 và 3,3 volt hơn MB102 sẽ điều
chỉnh.
Các linh kiện nhỏ
Các linh kiện nhỏ cần phải có là đèn LED và điện trở để sử dụng cho các dự án.
Hình 1-8 cho thấy các đèn LED và một điện trở SIP-9.
Hình 1-8. Bộ đèn LED 5 mm và một điện trở SIP-9 ở phía dưới
Thông thường một đèn LED sử dụng dòng điện khoảng 10 mA cho độ sáng bình
thường. Đèn LED nhỏ hơn chỉ cần dòng điện từ 2 đến 5 mA. Với điện áp cung cấp
gần 3,3 volt, vì vậy cần có điện trở khoảng 220 Ω để giới hạn dòng điện (220 ohms
giới hạn dòng điện đến mức tối đa khoảng 7 mA).
Một loại điện trở khác đó là điện trở SIP-9. Hình 1-9 minh họa sơ đồ bên trong cho
điện trở này. Ví dụ, nếu làm sáng tám đèn LED, cần có tám điện trở đơn cho mỗi
LED, cần được nối dây và chiếm nhiều không gian breadboard. Nhưng nếu sử
dụng điện trở SIP-9 có kết nối chung cả tám điện trở thì sẽ tiện hơn, tiết kiệm dây
điện và giảm sai sót trong quá trình nối dây.
Hình 1-9. Sơ đồ bên trong của điện trở SIP-9
Tóm lược
Chương này đã giới thiệu các thiết bị chính sẽ xuất hiện trong cuốn sách này.
Chương 2: sẽ hướng dẫn các bước cài đặt phần mềm cần thiết. Khi đã thực hiện
qua các bước đơn giản, nhàm chán nhưng cần thiết thì làm các dự án sẽ de74 dàng
hơn.
Chương 3: Chương này cung cấp thông tin quan trọng về các tùy chọn cấp nguồn.
Hướng dẫn các tùy chọn quyền truy cập và sau đó áp dụng trình lập trình ST-Link
V2 để thăm dò thiết bị.
Chương 4: Thực hiện tiện ích st-flash và lập trình thiết bị bằng chương trình liên
kết nhỏ, một chương trình Flash khác với chương trình được cung cấp cùng với
thiết bị. Thú vị hơn, API GPOP libopencm3 sẽ được thảo luận và chương trình liên
kết nhỏ sẽ được kiểm tra chi tiết. Điều này giải thích cấu hình GPIO và hoạt động
của nó.
Chương 5: Chương trình Flash sẽ chạy dưới FreeRTOS như một nhiệm vụ. Cách
cấu hình tốc độ xung nhịp CPU sao cho không cần cấp một xung RC mặc định.
Một chức năng móc tùy chọn để giải quyết sự kiện tràn ngăn xếp được minh họa.
Cấu hình và quy ước của FreeRTOS đã được đề cập đến.
Chương 6: Chương này sẽ trình bày công thức chung cho việc cấu hình và kích
hoạt USART ở chế độ không đồng bộ. Điều này cho phép Blue Pill gửi dữ liệu đến
máy tính để bàn để gỡ lỗi hoặc bất kỳ báo cáo nào khác.
Đồng thời thể hiện các nhiệm vụ FreeRTOS và hàng đợi tin nhắn được cung cấp.
Cách tiếp cận này chia các bên gửi và nhận của ứng dụng thành nhiệm vụ riêng của
chúng.
Chương 7: Chương này hướng dẫn cách một giao diện USB được xây dựng giữa
STM32 và máy tính xách tay / PC. Bản demo nhấn mạnh một số cơ sở FreeRTOS,
như nhiệm vụ và hàng đợi tin nhắn. Có các nhiệm vụ thực thi riêng và truyền thông
liên công việc an toàn giúp đơn giản hóa việc phát triển ứng dụng.
Chương 8: Giao thức SPI và cách áp dụng nó trên STM32 trong FreeRTOS bằng
cách sử dụng libopencm3.
Chương 9: Chương này giới thiệu tính năng tải lên Intel Hex để code chương trình.
Chương 10: Chương này khám phá cấu hình và sử dụng đồng hồ thời gian thực.
Cách thiết lập EXTI17 cho phép thiết lập thay đổi tín hiệu GPIO ngắt.
Chương 11: Chương này giúp chuẩn bị tốt cho làm việc I2C.
Chương 12: Trong chương này, SPI được áp dụng cho vấn đề thực tế của việc điều
khiển một màn hình OLED. Khái niệm về AFIO cho gia đình STM32 cũng được
áp dụng trong chương này chứng minh làm thế nào SPI1 có thể có chân I / O của
nó chuyển đến chân khác nhau.
Chương 13: Chương này được xây dựng dựa trên phần mềm được phát triển trong
Chương 12, thêm bộ điều khiển DMA để quản lý việc truyền dữ liệu đến thiết bị
OLED.
Chương 14: Chương này cung cấp môi trường đơn giản để bắt đầu sử dụng ADC.
Chương 15: Trong chương này, tổng quan về hệ thống cây đồng hồ đã được trình
bày, bắt đầu bằng nguồn đồng hồ chính: HSI và HSE cho đồng hồ hệ thống và
HSE, LSE và LSI cho thời gian thực đồng hồ. Đồng hồ LSI cũng được sử dụng bởi
bộ đếm thời gian watchdog.
Chương 16: Chương này áp dụng bộ đếm thời gian phần cứng cho nhiệm vụ tạo
đầu ra tín hiệu PWM thích hợp cho việc điều khiển động cơ servo RC. Ưu điểm
của việc sử dụng bộ đếm thời gian phần cứng là ít hoặc không hỗ trợ phần mềm
khi nó được cấu hình để chạy, để thay đổi độ rộng xung hoặc chu kỳ của một bản
cập nhật nhỏ cho bộ hẹn giờ. Đồng hồ phần cứng cũng cung cấp độ chính xác cao
hơn vì chúng không bị chậm trễ phần mềm.
Chương 17: Chương này sẽ trình bày cách bộ đếm thời gian STM32 được sử dụng
để đo độ rộng xung và khoảng thời gian của tín hiệu một cách dễ dàng.
Chương 18: Khi đèn tín hiệu nhấp nháy, mắt người nhìn thấy chúng gần như là liên
tục chứ không phải là nhấp nhấy. Vậy chúng được được làm bằng cách nào? Và
điều gì xảy ra nếu cần độ chính xác cao hơn cho ứng dụng điều khiển nhà máy?
Chương này sẽ trình bày chi tiết hai câu hỏi trên.
Chương 19: Chương này sẽ trình bày một số cách viết code C đơn giản bằng cách
đặt API ứng dụng CAN bus trong mô-đun canmsgs.c và canmsgs.h, nhiệm vụ viết
ứng dụng trở nên dễ dàng hơn. Và một số ứng dụng của CAN BUS.
Chương 20: Chương này sẽ chuẩn bị để tạo các dự án STM32 tự thực hiện bằng
cách sử dụng FreeRTOS.
Chương 21: Chương này trình bày các thiết bị thành viên khác có các thiết bị ngoại
vi bổ sung trong gia đình STM32, như DAC (bộ chuyển đổi digitalto-analog), để
đặt tên một thiết bị, một thiết bị trong gia đình STM32F407, Core407V, STM32F4.