读写单片机的程序可以用多种编程语言编写,比如C、C++、ASM等,但更为常用的是C语言和ASM汇编语言。C语言有着更高的可读性和可维护性,同时也具备良好的跨平台特性,支持多种编译器,能够实现高效的代码编写。但使用ASM汇编语言编写程序能够实现更高的性能和更小的代码体积,适合编写对性能要求较高的程序。
因此,根据具体的应用场景,我们可以选择使用C语言或ASM汇编语言进行编写。
针对单片机程序的开发,我们需要选择相应的开发工具。常用的单片机开发工具包括Keil uVision、IAR Embedded Workbench、微软Visual Studio等。这些开发工具都提供了基础的编程编辑器和编译器,能够支持多种单片机型号的编程,并能够方便地进行单片机程序的编写、调试、下载和仿真。
同时,我们还需要选择对应的开发板或芯片,搭配开发工具进行程序编写。不同的开发板或芯片支持的开发工具种类和版本也有所不同,需要根据具体的需求进行选择。
单片机程序编写完成后,需要将程序下载到目标单片机上运行。下载的方法也有多种,包括串口下载、JTAG调试下载、ISP下载等。其中最常用的是ISP(In-System Programming)下载。
ISP下载是指将单片机芯片中的Flash等内部存储器上的程序内容通过下载器、编程器等设备进行编程,实现程序烧录的操作。这种方式操作简单、可靠性高,也是目前大多数单片机用户选择的下载方式。
在程序编写和下载后,我们需要对程序进行调试,排查程序中可能出现的错误或异常。常用的单片机程序调试方式包括带调试器开发板、仿真器和逻辑分析仪等硬件设备的调试方式,以及单步跟踪、断点调试、printf调试等软件方式。
其中,带调试器开发板是比较基础和常用的方式,它可以检测程序运行的各个阶段,定位程序 Bug,并调节单片机的时钟和电压,直接在线对芯片进行调试和加密等操作。
而软件调试方式则更便捷、灵活,可利用 micro:bit 自带的usb进行实时调试,并支持单步调试、断点调试、printf调试等,且操作简单方便。