树莓派pico可以学linux吗,【树莓派Pico测评】- 开始写程序

【树莓派Pico测评】- 开始写程序

[复制链接]

2a0fb537e2975b3e6b702942b53e1d04.gif

上次发了一个贴子,

大家很活跃,这次再来一个

怎么写程序,官网上关于这款开发板介绍很详细

首先这款开发板是自研芯片,型号为RT2040

双核 CM0+ 133Mhz

外设不用多说了,该有的全部都有,IO有30个,不像其它芯片那样有PA,PB,PC等,

IO只有编号,GP0,GP29

另外还有一个主要特点是有可编程IO,这个就比较牛了,可以做类似于CPLD的事情,

有9条指令,实际上就是一个微型CPU了

有跳转,等待,输入,输出,发送,接收,移动,中断,设置

16位指令编码,其中3位指令码,5位延时码,等

它可以做什么?可以模拟常规接口,像SPI,I2C,UART,PWM完全没问题,更像时序较严格,快的 WS2812也完全没问题

官方手册用了很大的篇幅来介绍PIO

以后我专门发个贴子来玩玩它

言归正转,说如何开始写程序?

上次例子是往里边下载现成的UF2程序

UF2和HEX差不多吧,关于它的介绍,这里有篇文章,

我就不多说了 https://blog.csdn.net/kh766200466/article/details/103633649

如何自己编译程序呢?

首先这个芯片是Cortex M0+的,

板上带有SWD调试接口

我满怀激动的心情焊接了SWD接口,在KEIL里查找CPU,

一查找开发板重启,再查找还是重启,反正找不到

后来到官方论坛中查找了一下,发现这玩意双核的,好像不太一样,反正我手时的J-LINK V9是不行,

不知道更新的J-LINK 是否可以,有更新的朋友可以试一下

这个芯片寄存器手册官网上是有的,很详细,但我J-LINK用不了,所以就没继续测试下去

官方的SDK是可以在LINUX或WINDOWS下编译的,

但我在WINDOWS下尝试多次还是失败,

GIT,PYTHON,VS2019,GCC全都好了,可CMAKE还是失败,

只好放弃了

官方重点推荐的还有另一种编程方式,即MicroPython编程

这个也比较有意思

先下载MicroPython低层固件

按下板上按钮不松开,再插上USB上电,此时出现盘符,拖入固件

ce3ba9a0bcbe538e684e81fcbb65ad52.gif

2021-1-27 09:54 上传

点击文件名下载附件

然后就绪后设备管理器会出现一个串口,

下载官方推荐的MicroPython IDE软件,名叫Thonny,

链接 : https://github.com/thonny/thonny/releases/download/v3.3.3/thonny-3.3.3.exe

下载后,安装 ,打开,配置解释器和串口,然后就可以玩耍了

a26d678767e8b431ecd7a25f1936bdc5.gif

企业微信截图_20210127095728.png (30.72 KB, 下载次数: 0)

2021-1-27 09:59 上传

以下代码来个LED闪烁灯,0.2秒开关一次,程序还是比较简单的

import machine

import utime

led_onboard = machine.Pin(25, machine.Pin.OUT)

while True:

led_onboard.value(1)

utime.sleep_ms(200)

led_onboard.value(0)

utime.sleep_ms(200)

写好后直接点运行按钮即可下载到开发板里运行

最后再来个极端测试,注释掉延时指令看一下

import machine

import utime

led_onboard = machine.Pin(25, machine.Pin.OUT)

while True:

led_onboard.value(1)

#utime.sleep_ms(200)

led_onboard.value(0)

#utime.sleep_ms(200)

不测不知道,一测下一跳,输出脉冲竟然能跑到50.3731KHZ

解释型的指令能跑这么快已经很不错了,

也就是说 led_onboard.value(1) 这个指令时间是小于 20uS的

解释性的比跑普通51还要快了,所以用MicroPython来跑控制完全没问题,

关键是写程序方便啊

来个PDF教程,

正在审核,稍候补充

你可能感兴趣的:(树莓派pico可以学linux吗,【树莓派Pico测评】- 开始写程序)