|
本帖最后由 QianFan 于 2015-1-16 21:56 编辑 今天成功的移植了F072 Nucleo到Arduino,特发帖嘚瑟一下。请看大图: 目前的功能还是很简单,只是简单的实现了Arduino控制IO接口的函数。实现了下面的几条函数digitalWrite,digitalRead,pinMode,另外,为了方便大家使用,我在Arduino的基础上增加了一个函数toggleDigital,用于翻转IO接口。 程序在开始的时候使能了systick,配置成为1ms中断一次。这样,我们就能够使用delay就行延时了。 代码使用arm gcc进行编译。在整个移植的过程中,最重要的就是Arduino中platforms.txt文件的编写。这个文件的作用最大了,类似于gcc中的makefile。这个文件关系到函数是如何编译的,生成什么样的文件(hex or bin)使用什么下载工具,下载工具的命令行是什么。由于Nucleo板子上面自带ST-LINK,所以当然是使用ST-LINK下载。但是似乎是现在移植的一个难题,因为Arduino在进行下载的时候,是需要确定你的串口是存在的。似乎所有的Arduino都是使用串口进行下载。所以,如果没有串口的话,是无法下载的。幸好我们的Nucleo板子上是有一个串口的,用这个串口可以临时的欺骗一下Arduino,但也不是长久之计。我们正在寻找一个解决方案。看能不能很好的解决这一个下载问题。 不知道大家对Arduino的感觉如何,前几天我发起了一个帖子,询问大家对Arduino的看法,感觉大家还是对这个东西不是很感兴趣。 好了,不多少了,大家还是看图说话吧。过几天之后,完善一下代码,作为一个附件上传上来供大家评测。如果大家感兴趣的话,会写一系列的教程贴,供大家从0开始移植Arduino。 digital
[Arduino移植第二幕:成功移植Serial ] Nucleo中有四个串口,所以这次移植Serial的时候,将这四个串口都写进去了,分别是Serial,Serial2,Serial3,Serial4,直接发送,中断接收。测试之后,四个串口均可用。比较欣喜的是Nucleo自带了USB转串口,很方便我们使用。 下面是4个串口的引脚: PA0<-->USART4_TX PA1<-->USART4_RX PA2<-->USART2_TX PA3<-->USART2_RX PA9<-->USART1_TX PA10<->USART1_RX PC10<->USART3_TX PC11<->USART3_RX 下面是截图: Serial。
【Arduino移植第三幕:成功移植AD转换部分】 今晚成功移植analogRead这个函数,能够通过内置的AD读取端口的电平值。不过操作流程和arduino原生的有点出入。如果使用Arduino原生的,貌似是不需要设置IO端口的状态。但是我移植的需要提前将IO端口设置成为ANALOG状态。 在移植的时候也好好地想过这个事情。其实移植的时候完全可以根据Arduino的操作流程来处理。只要在每次analogRead的时候都设置一次IO接口的状态为模拟就行,但是这样毕竟做了很多无用功。特别是当你在一个循环中连续读取模拟口的电平值的时候,每次都设置一个确实是一种浪费。因此我没有这样做。只是在程序开始的地方,我的建议是在setup中设置你需要读取的引脚是ANALOG(使用pinMode函数,在Arduino原生的基础上增加了ANALOG这一状态)。 下面是我的一张截图。将AD转换通道的数据读入,并且通过串口Serial进行发送。串口监视器中的数据一开始是接在3.3V上面,然后我把线拔下来,悬空了一会,然后把线放到了GND上数据的变化。请看图。 analogRead
|
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
这个是直接使用Arduino的IDE
支持楼主,等待可用的版本。
正在努力敲程序中。。。
主要是他能降低开发的门槛。让更多的人学会使用