- Thiết lập Arduino IDE
- Thiết lập bảng STM8S103F3 cho Lập trình Arduino IDE
- Đèn LED nhấp nháy trên STM8S103F3 bằng Arduino
- Lập bản đồ chân Arduino cho STM8S103F3
- Biên dịch thư viện SPL trên Arduino IDE
Arduino chắc chắn đã phát triển thành một công cụ tạo mẫu nhanh và thân thiện với người dùng, nhờ vào cộng đồng người dùng hỗ trợ của nó. Ngày nay, vì tính chất mã nguồn mở của nó, nền tảng này không chỉ giới hạn trong các bảng Arduino mà còn cho các bảng phát triển khác như NodeMCU, ESP8266, STM32, MSP430, v.v. cũng có thể được lập trình từ Arduino IDE. Nếu bạn quan tâm muốn biết cách làm, bạn có thể theo các liên kết bên dưới.
- Lập trình NodeMCU với Arduino IDE
- Lập trình ESP8266 với Arduino IDE
- Lập trình STM32 với Arduino IDE
- Lập trình MSP430 với Energeia (tương tự như Arduino)
Không nghi ngờ gì nữa, Arduino IDE rất tuyệt vời cho người mới bắt đầu, nhưng đối với sự phát triển chuyên nghiệp, tốt hơn là làm việc với các trình biên dịch và môi trường phát triển gốc. Giống như MPLABX cho Vi điều khiển PIC và studio Code Composer cho Vi điều khiển TI. Sử dụng nền tảng gốc cho phép chúng tôi làm việc ở cấp đăng ký (thậm chí cấp lắp ráp nếu được yêu cầu) cho phép chương trình sử dụng bộ nhớ hiệu quả hơn. Đây là lý do tại sao khi chúng tôi bắt đầu hướng dẫn Vi điều khiển STM8Ssê-ri, lựa chọn nền tảng là trình biên dịch STVD và Cosmic C, cả hai đều miễn phí để tải xuống và sử dụng. Tuy nhiên, đáng buồn thay, STVD là một IDE rất cũ và cảm giác giống như những năm 90 khi làm việc với nó. Trên hết, công cụ lập trình viên STVP cũng không được tích hợp tốt với IDE và bạn phải sử dụng nó riêng biệt. Điều này làm tăng thời gian biên dịch và tải lên và làm cho việc phát triển và gỡ lỗi trở nên khó khăn.
Tôi đã tìm kiếm các giải pháp thay thế và đó là khi Arduino IDE đến để giải cứu. Một công cụ được gọi là Sduino của Michael Mayor cho phép chúng ta dễ dàng lập trình các Bộ vi điều khiển STM8s (hầu hết các bộ phổ biến) từ Arduino IDE trực tiếp và chỉ mất vài phút để thiết lập và bắt đầu. Điều thú vị hơn là ngoài việc hỗ trợ lập trình kiểu Arduino, Sduino còn cho phép chúng ta sử dụng Thư viện ngoại vi chuẩn (SPL), nói cách khác, chúng ta gần như có thể biên dịch cùng một chương trình trên STVD thành Arduino IDE. Mặc dù Sduino là một công cụ tuyệt vời, nó vẫn đang được phát triển và chưa hỗ trợ nhiều thư viện và chức năng của Arduino. Như đã nói, hãy cùng tìm hiểu cách sử dụng Arduino IDE với Bảng phát triển STM8S103F.Nếu bạn hoàn toàn mới sử dụng bảng này, hãy kiểm tra cách bắt đầu với hướng dẫn STM8S103F. Ngoài STM8S103F, Sduino cũng hỗ trợ các bộ vi điều khiển STM8S khác như STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14, v.v. Quy trình giải thích trong hướng dẫn này là giống nhau cho tất cả.
Thiết lập Arduino IDE
Bước 1: Nếu bạn hoàn toàn mới sử dụng Môi trường Arduino, hãy Tải xuống Arduino dựa trên hệ điều hành của bạn và cài đặt nó.
Bước 2: Thực hiện theo File -> Preferences để mở cửa sổ tùy chọn và dán liên kết được cung cấp bên dưới vào hộp văn bản URL quản lý bảng bổ sung và nhấp vào OK.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Bước 3: Thực hiện theo Tools -> Board -> Board manager để mở hộp thoại quản lý board và tìm kiếm “sduino”. Nhấp vào cài đặt và đóng hộp thoại sau khi cài đặt xong.
Bước 4: Khởi động lại IDE và sau đó làm theo Công cụ -> Bảng -> STM8S103F3 . Bạn có thể chọn các bảng khác nếu bạn có một bảng phát triển khác.
Bây giờ Arduino IDE đã sẵn sàng để lập trình Bảng phát triển STM8S103F3. Hãy để chúng tôi thiết lập bảng, kết nối nó với máy tính và lập trình cho một đèn LED nhấp nháy đơn giản.
Thiết lập bảng STM8S103F3 cho Lập trình Arduino IDE
Kết nối ST-Link V2 với bảng phát triển như hình dưới đây.
Các kết nối khá thẳng về phía trước và phần tốt nhất là bạn không cần các thành phần bên ngoài. Thiết lập phần cứng của tôi để lập trình được hiển thị bên dưới, tôi vừa sử dụng các dây tiêu đề cái để tạo kết nối. Tuy nhiên, hãy lưu ý rằng sơ đồ chân của ST-Link của bạn có thể khác với sơ đồ của tôi, hãy đảm bảo làm theo sơ đồ chân trên thiết bị trước khi thực hiện kết nối.
Thực hiện kết nối và kết nối thiết bị với máy tính của bạn, quá trình cài đặt trình điều khiển sẽ tự động bắt đầu. Bạn có thể sử dụng trình quản lý thiết bị để đảm bảo máy tính của bạn có phát hiện đúng ST-LINK V2 hay không. Bạn cũng sẽ nhận thấy đèn LED kiểm tra trên bảng nhấp nháy nếu đây là lần đầu tiên cấp nguồn cho bảng.
Đèn LED nhấp nháy trên STM8S103F3 bằng Arduino
Bây giờ để nhấp nháy đèn LED đơn giản, chúng ta có thể sử dụng chương trình nhấp nháy từ phần ví dụ. Thực hiện theo Tệp -> Ví dụ -> Chung_Ví dụ -> Khái niệm cơ bản -> Nhấp nháy .
Chương trình hoàn chỉnh để nhấp nháy đèn LED trên bo mạch được hiển thị bên dưới-
void setup () {// khởi tạo pin kỹ thuật số LED_BUILTIN dưới dạng đầu ra. pinMode (LED_BUILTIN, OUTPUT); } // hàm lặp đi lặp lại mãi mãi void loop () {digitalWrite (LED_BUILTIN, HIGH); // bật đèn LED (CAO là mức điện áp) delay (1000); // đợi một digitalWrite thứ hai (LED_BUILTIN, LOW); // tắt đèn LED bằng cách làm trễ điện áp LOW (1000); // đợi trong giây lát}
Như bạn có thể thấy, điều này rất giống với chương trình Arduino nháy. Để tải lên chương trình, hãy đảm bảo rằng bo mạch của bạn được kết nối qua st-link v2 như đã thảo luận ở trên và chọn trình lập trình là “ST-Link / V2” như hình dưới đây.
Lưu ý: Không giống như bảng Arduino, bạn không phải chọn đúng cổng COM để lập trình bảng. Bạn sẽ chỉ sử dụng cổng COM cho giao tiếp nối tiếp.
Khi cổng COM được chọn, việc tải lên mã cũng rất đơn giản. Chỉ cần nhấn nút tải lên (được bao quanh bởi màu đỏ bên dưới) và mã sẽ được biên dịch và tải lên bảng của chúng tôi tự động.
Đó là nó, chương trình được tải trực tiếp lên bảng và bạn sẽ thấy đèn LED trên bo mạch nhấp nháy. Không có phần mềm tải lên bên ngoài, không có gì. Dễ dàng như vậy. Bạn có thể xem video ở cuối trang này để làm việc.
Lập bản đồ chân Arduino cho STM8S103F3
Nếu bạn muốn tiếp tục từ đây, bạn cần biết cách định địa chỉ từng chân trên bảng Phát triển STM8S103F3. Bản đồ pin có thể được hiểu từ hình ảnh này bên dưới-
Ví dụ từ sơ đồ bảng mạch STM8S103F3, chúng ta biết rằng đèn LED trên bo mạch được kết nối với PB5. Để giải quyết chân này trên Arduino, chúng ta phải sử dụng 3, do đó chương trình có thể được viết là-
void setup () {// khởi tạo pin kỹ thuật số LED_BUILTIN dưới dạng đầu ra. pinMode (3, OUTPUT); } // hàm lặp đi lặp lại mãi mãi void loop () {digitalWrite (3, LOW); // bật đèn LED (CAO là mức điện áp) delay (1000); // đợi một digitalWrite thứ hai (3, HIGH); // tắt đèn LED bằng cách làm trễ điện áp LOW (1000); // đợi trong giây lát}
Biên dịch thư viện SPL trên Arduino IDE
Như đã đề cập trước đó, chúng ta cũng có thể sử dụng thư viện SPL trên Arduino IDE. Nếu bạn còn nhớ, trong hướng dẫn STM8S GPIO trước đây của chúng tôi, chúng tôi đã viết mã để nhấp nháy đèn LED trên bo mạch và cả đèn LED bên ngoài bằng cách sử dụng nút nhấn. Mã tương tự với rất ít sửa đổi cũng có thể được biên dịch trên Arduino. Mã sửa đổi được hiển thị bên dưới.
#define Green_LED GPIOA, GPIO_PIN_3 void setup () {GPIO_DeInit (GPIOA); // chuẩn bị cho cổng A hoạt động GPIO_DeInit (GPIOB); // chuẩn bị cho cổng B hoạt động // Khai báo PA2 là đầu vào kéo lên chân GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT); // Khai báo PA3 là chân Push Pull Output pin GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // Khai báo PB5 dưới dạng push pull Chân đầu ra GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // if đã nhấn nút GPIO_WriteLow (Green_LED); // LED ON else GPIO_WriteHigh (Green_LED); // LED TẮT GPIO_WriteReverse (GPIOB, GPIO_PIN_5); chậm trễ (100); }
Để kết thúc Arduino IDE cùng với Sduino là lựa chọn rất tốt nếu bạn muốn bắt đầu phát triển với STM8S. Tuy nhiên, nền tảng này vẫn đang được phát triển và nhiều thư viện Arduino vẫn chưa được hỗ trợ. Tuy nhiên, nếu bạn muốn đào sâu và đóng góp vào sự phát triển, điều đó thật tuyệt vời. Nhưng để tiện cho việc học, mình sẽ tiếp tục loạt bài hướng dẫn với trình biên dịch STVD và cosmic C.