tag 标签: ufun

相关博文
  • 热度 3
    2019-12-15 19:38
    3062 次阅读|
    1 个评论
    UFUN扩展板玩转Arduino(三)
    关于从https://github.com/rogerclarkmelbourne/Arduino_STM32下载的 Arduino_STM32库,还有一种说法是要放到Arduino安装目录的 hardware目录下,可能是IDE不同版本的原因,在1.8.10版本下这个操作是有效的,下载后的压缩包如下图。 直接从压缩包里将这个文件夹拖动到Arduino安装目录的hardware目录下。 可能还有个倍频的设置需要小小修改一下,顺着刚才的目录找下去:Arduino_STM32-master\STM32F1\variants\generic_stm32f103r\wirish,这个目录下的boards_setup.cpp文件打开进行编辑。 如下图54-55行位置如果是与下图一致了就不用改了,意思是 PLL倍频系数修改为6,这样工作频率为12M*6=72M。 环境都搭建好了,编个程序来试验下效果吧。 void setup() { pinMode(PA0, OUTPUT); pinMode(PA1, OUTPUT); pinMode(PA2, OUTPUT); } void loop() { digitalWrite(PA0, HIGH); delay(1000); digitalWrite(PA0, LOW); delay(1000); digitalWrite(PA1, HIGH); delay(1000); digitalWrite(PA1, LOW); delay(1000); digitalWrite(PA2, HIGH); delay(1000); digitalWrite(PA2, LOW); delay(1000); } 用Arduino语句编写的程序简单明了,先设三个引脚为输出模式,再循环点亮熄灭RGB灯。引脚编号为PA0、PA1、PA2,和Arduino的引脚定义方式还是不同的。IDE工具菜单设好开发板、连接方式、串口号,UFUN板BOOT0和3.3V短接,按复位,直接工具栏第二个向右粗箭头按钮编译上传。 稍作等待,显示上传成功,程序已在UFUN板上运行起来,RGB灯交替点亮闪烁。
  • 热度 3
    2019-12-15 17:09
    3686 次阅读|
    2 个评论
    UFUN扩展板玩转Arduino(二)
    UFUN板要用Ardiuno IDE实现编程开发,首先要实现IDE和板上主芯片STM32F03RC之间的数据协议连接。上一节里忘了另一个主角:UFUN扩展板,它要实现的是UFUN和各种传感器、执行器的方便连接。下面先看一下UFUN和扩展板的组合效果。 扩展板将UFUN一些引脚引出对应了Arduino板的插针,可以方便地使用Arduino标准扩展板来连接常用传感器。突然发现这里的公母接口反向了,好像也不是这么简单可以直接通用,有母口的Arduino扩展板吗?另外已经把BOOT0和SWD这些和烧录相关的引脚接口独立出来了,方便烧录,还是有点受不了拔插短路帽,还是在BOOT0和3.3V引脚间接出一个小按压开关,方便烧录。 上节提到了flash_loader_demo_v2.8.0,可以把编译好的STM32程序直接刷入UFUN运行看到效果,网上有这样的程序,原先烧录了generic_boot20_pc13.bin,文件名末尾的pc13含义为此程序在PC13引脚接的LED可以点亮闪烁。扩展板没有引出PC13引脚,查看UFUN2.0电路原理图,我们发现RGB彩灯三个引脚分别接在了PA0、PA1、PA2脚。 打开网址:https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/binaries,我们会看到有一大堆编译好的bin文件程序供下载试验,有PC13的,还有如红圈标示的generic_boot_pa1.bin,正是可以点亮UFUN板RGB彩灯的程序,还有排在下面那个也很有意思哦:PA1接灯,PA8接按钮开关,会是什么效果呢?可以一试。 下载generic_boot20_pa1.bin烧录到UFUN板,断开BOOT0和3.3V,恢复运行状态,每按一次复位,蓝灯就闪烁几下,成功点亮RGB彩灯。
  • 热度 3
    2019-12-14 15:12
    3230 次阅读|
    1 个评论
    UFUN扩展板玩转Arduino(一)
    Arduino IDE是鼎鼎大名的单片机编程开发环境,UFUN是小巧可爱的STM32开发板,两者结合会碰撞出怎样的火花呢? 网上已经有用Ardiuno IDE来编程UFUN的实现过程介绍文章,照着做就能实现两者的互通实现,不过在笔者的照用过程中还是出现过一些波折的,下面就整个过程做一简单描述,更详细的教程读者可以自行搜索。 简单地说,有两大步骤: 1.在电脑上安装Arduino IDE的基础上,下载安装Arduino SAM开发板和相应的库,使Arduino IDE支持对STM32开发板的编程开发。 2. 在UFUN开发板的STM32主芯片内烧录相应的支持固件。 下面分步简述大致的过程: 1.1安装Arduino IDE,注意下版本,最新的版本是1.8.10,版本特别丰富,电脑里下载了多个版本,就会有一些麻烦,要避免相互之间的干扰,前面一直在用的1.6.7版本好像就不能正常的STM32程序编译。 1.2 打开Arduino——工具——开发板管理器,然后搜索——SAM开发板并下载安装,这一步比较费时,需要耐心等待。 1.3 下载STM32F103RCT6用的Arduino开发板库,下载地址:https://github.com/rogerclarkmelbourne/Arduino_STM32 ,下载后解压,将文件夹Arduino_STM32_master重命名为Arduino_STM32后复制到C:\Users\用户名\Documents\Arduino\hardware文件夹,如果没有hardware文件夹就新建一个。 1.4 打开Arduino IDE,选择工具——开发板——选择如下开发板:Generic STM32F103R series,选择STM32F103RCT6,256KB Flash + 48kB SRAM 2.1 下载安装flash_loader_demo_v2.8.0,下载链接:https://www.st.com/en/development-tools/flasher-stm32.html ,链接2:https://pan.baidu.com/s/1jpwH-NU8_Y31hPPDKDuVwA 提取码:2qkb ,连接UFUN板之前要安装USB转串口驱动,这里不再赘述。 2.2 短接UFUN板接口最右边的两个引脚:BOOT0和3.3V,按复位按钮进入烧录状态,按Next进入下一步(已能识别256K),再Next烧录相应固件即可大功告成。 2.2.1 固件的文件名为:generic_boot20_pc13.rar,可在前面下载的Arduino_STM32压缩包里找到。 至此,开发环境搭建完成,可以在Arduino IDE打开示例程序,进行编译、上传试验。 相关文章: UFUN扩展板玩转Arduino(一) https://mbb.eet-china.com/blog/218568-409688.html UFUN扩展板玩转Arduino(二) https://mbb.eet-china.com/blog/218568-409691.html UFUN扩展板玩转Arduino(三) https://mbb.eet-china.com/blog/218568-409692.html
  • 热度 3
    2019-10-27 21:35
    2297 次阅读|
    1 个评论
    收到开发板之后立刻开箱,小巧的矩形电路板立马映入眼帘,周围四个安装孔便于进一步的结成设计和结构封装。正面的四个触摸按键大小适中,典型的 rgb 三色可调 led 灯可作为信号灯使用。背面的排线设计表明其大概率使用有线通讯方案。 Sd 卡槽表明这里面可运行强大的软件系统。看来这款板子可玩性很高。 第一次看到 ufun 开发板的图片立刻被他小巧简洁的设计吸引,奶牛哥立刻想到了“智能家居”,“物联网”这两个词。四个触摸按键的设计是很好的人机接口,非常符合用惯了触屏智能手机的大多数用户,键位分明便于分工。结合今天看到的实物,我想里面至少可以做一下开发工作。 家电、工业设备的在线控制; 游戏功能的开发;( 4 各键位的设计很像小时候玩的游戏手柄) 嵌入式操作系统的移植与应用。 事情的进展并没有想象中那么顺利。 按照说明,将 usb 口连至电脑 USB 口供电,板子运行起来了, led 灯和三色 led 灯亮了起来,证明板子是好的同时里面预装了程序。但是,在我准备开发环境时遇到了不少问题。下载 uVersion5.15 版主程序并安装后,打开测试例程工程,果然弹出提示没有这个型号的芯片库。根据开发指南,去官网下载了 5.25 版本的 MDKCM525.EXE 。 但是,安装之后又出现了问题,在软件中可以看见相应的库,但是图标为灰色,并不能使用。 最后,经过网上求助,在网友 plutooo 的帮助下,下载安装了 Keil.STM32F1xx_DFP.2.2.0 pack 包,终于找到了可用的芯片库。 奶牛哥手上资源有限,选择最后一种开发方式, “使用 ISP 开发”,下载安装“ flash loader demonstrator ”,这次一切比较顺利。首先按照教程擦除原有程序。 然后写入新的程序,选择 hex 文件,写入: 写入之后, rgb 三色灯重新闪烁起来。 到这里呢, ufun 开发板的箱验证和开发环境搭建,开发流程初识就完成了,感谢社区小伙伴的帮助,感谢 ufun 团队。这是我的第一款 stm32 学习板,我将抓紧时间好好学习,请多指教。 奶牛哥敬礼!
  • 热度 1
    2019-8-24 15:46
    2369 次阅读|
    2 个评论
    UFUN开发板实验笔记(2)
    每一件MCU设备、工具起步的第一件是就是要发出声“Hello World”,UFUN开发板也不例外。在开发板例程中已经带了Hello World程序,这个例程的名字是“基础例程4 - USB串口与PC通讯”,烧录后在串口模式下9600波特率连接,PC向UFUN发送0x10,UFUN会不断向PC发送符号拼接的“Hello World”,直到PC发送0x11才停止。 这是智能化设备“苏醒”后的常规动作,向World宣告一下“我醒了”。上期我们给UFUN添加了128x64点阵的OLED屏,并且点亮宣告“I am UFUN”,这就相当于给UFUN开发板加了一张嘴,UFUN有了表达的愿望。那么,通过小小的OLED屏幕UFUN能表达哪些内容呢?开发之前我们得了解一下,最好能让UFUN告诉我们。在上期的工程目录下我们可以找到“codetab.h”文件,这是一个点阵字库文件,里面可以看到四个点阵码表:16x16点阵汉字(用到的几个汉字)、6x8点阵字符(92个ASC字符)、8x6点阵字符(92个ASC字符)、图片点阵。我们取出6x8点阵字符码表看一下: /************************************6*8的点阵************************************/ const unsigned char F6x8 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,// sp 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00,// ! 0x00, 0x00, 0x07, 0x00, 0x07, 0x00,// " 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,// # 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12,// $ 0x00, 0x62, 0x64, 0x08, 0x13, 0x23,// % 0x00, 0x36, 0x49, 0x55, 0x22, 0x50,// & 0x00, 0x00, 0x05, 0x03, 0x00, 0x00,// ' 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,// ( 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,// ) 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,// * 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,// + 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// , 0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// . 0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// / 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,// 1 0x00, 0x42, 0x61, 0x51, 0x49, 0x46,// 2 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,// 3 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,// 4 0x00, 0x27, 0x45, 0x45, 0x45, 0x39,// 5 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6 0x00, 0x01, 0x71, 0x09, 0x05, 0x03,// 7 0x00, 0x36, 0x49, 0x49, 0x49, 0x36,// 8 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,// 9 0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// : 0x00, 0x00, 0x56, 0x36, 0x00, 0x00,// ; 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,// < 0x00, 0x14, 0x14, 0x14, 0x14, 0x14,// = 0x00, 0x02, 0x01, 0x51, 0x09, 0x06,// ? 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,// @ 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,// A 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,// B 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,// C 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,// D 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,// E 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,// F 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,// G 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,// H 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,// I 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,// J 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,// K 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,// L 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,// M 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,// N 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,// O 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,// P 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,// R 0x00, 0x46, 0x49, 0x49, 0x49, 0x31,// S 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,// T 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,// U 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,// V 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,// W 0x00, 0x63, 0x14, 0x08, 0x14, 0x63,// X 0x00, 0x07, 0x08, 0x70, 0x08, 0x07,// Y 0x00, 0x61, 0x51, 0x49, 0x45, 0x43,// Z 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,// 0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// ^ 0x00, 0x40, 0x40, 0x40, 0x40, 0x40,// _ 0x00, 0x00, 0x01, 0x02, 0x04, 0x00,// ' 0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// a 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// b 0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// c 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// d 0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// e 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// f 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// g 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// h 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// i 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// j 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// k 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// l 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// m 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// n 0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// o 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// p 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// q 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// r 0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// s 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// t 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// u 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// v 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// w 0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// x 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// y 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,// z 0x14, 0x14, 0x14, 0x14, 0x14, 0x14,// horiz lines }; 从码表中我们可以大致看到点阵屏能显示的一些ASC字符内容,有了这个码表,就等于让UFUN有了表达内容的媒介——语言元素。接下来,我们要做的是让UFUN自己告诉我们它现在能显示出哪些字符。编写新程序开始,把原先的工程目录完全复制,修改目录名、工程名,该改的改,该删的删。main.c文件修改成如下内容: int main(void) { unsigned char j,n,m; unsigned char strm ; DelayInit(); I2C_Configuration(); OLED_Init(); OLED_Fill(0x00);//清屏 while(1) { OLED_ShowStr(0,0,"I can show (6x8):",1);// 标题测试6*8字符 for(j=0;j<7;j++) { for(n=0;n<14;n++) { m=j*14+n+32; strm =m; strm =0; OLED_ShowStr(n*8+8,j+1,strm,1); } } DelayS(3); } } 重要的是要将码表中的内容按顺序排列在128x64点阵屏内,第一行显示标题,64/8还剩7行,每行显示14个字符,总共可以显示98个字符,还多出了6个位置。每行14个字符,共需14x6=84点,每字后面空2个点,14x8=112点。128-112=16点,左右各空8点正好,算上末尾字符无需空的两点,实际左右各空9个点也是合适。看着短短的几行,花费了一上午的时间,原因在于如何把数值变为字符串成为显示函数的参数颇费周折,不多说,看看最后的显示效果。 附件: LED能显示哪些ASC符号源程序 https://mbb.eet-china.com/download/20407.html
相关资源
  • 所需E币: 2
    时间: 2019-8-27 23:26
    大小: 9.81MB
    上传者: lyyinhe_xi
    UFU学习笔记4.OLED响应触摸按键源程序:当触摸板上一个触摸按键时,OLED显示几号键被按下了。
  • 所需E币: 2
    时间: 2019-8-26 23:07
    大小: 6.51MB
    上传者: lyyinhe_xi
    UFUN开发板学习笔记3.对话UFUN源码(可接收、显示不正确、待修改)*Description:UFUN新版串口接收OLED显示屏响应实验(有问题未解决)*波特率9600*预期效果:每次PC端发送一个ASC码字符,UFUN会通过OLED告诉我们收到了什么字符,此字符的ASC码是多少。*接收到的回送数值无缘无故就变成一个很大的值,比如0xFE、0xE0,在OLED上只能显示一个乱码
  • 所需E币: 2
    时间: 2019-8-23 19:50
    大小: 8.69MB
    上传者: lyyinhe_xi
    UFUN新版的开发板已经到手一段时间了,却迟迟没有开袋使用。前面买了2.0转2.54杜邦线专门为这个板子外接传感器等而买的,也一直没用起来。最近终于有时间来做一个UFUN开发板学习笔记系列了。首先想到的是让UFUN有一个屏幕,显示自己“想说的话”。来看下UFUN先:板上一个40脚的牛角插座是板子外接电路的通道,插针间距是2.0毫米的。想起来了,并口的笔记本硬盘用的是这种插座。然后我们得知道一下各引脚的定义:现在的任务是扩展一块i2c接口的OLED屏幕,只需要4条线连接,分别是VCC、GND、SCL、SDA,VCC对应为3.3V,对应开发板插座接口引脚为2、10、12、14脚,用2.0转2.54杜邦线连接:因为杜邦线是两个两个合在一起的,实际在上图中有两根线没有使用,注意分别。对应的引脚连接就好了。接下来的任务是下载点亮屏幕程序到UFUN板,简单的方法是用一个现存的例程来试验。我买的这块中景园的屏幕,送的资料里有C51、Adiuno的例程,却没有STM32的例程。同类的屏幕很多啊,下载了一大批同类屏幕的例程资料,终于找着一个带STM32例程,用Kiel4、Kiel5都能轻松打开,重要的是可以直接编译,对STM32初学者来说太简便了,直接用上。没敢多改,将显示内容底下一行修改为“HelloIamUFUN”应下景,编译,准备上传。[code]#include"stm32f10x.h"#include"OLED_I2C.h"#include"delay.h"intmain(void){unsignedchari;externconstunsignedcharBMP1[];DelayInit();I2C_Configuration();OLED_Init();while(1){OLED_Fill(0xFF);//È«ÆÁµãÁÁDelayS(2);OLED_Fill(0x00);//È«ÆÁÃðDelayS(2);for(i=0;i
  • 所需E币: 2
    时间: 2019-8-24 14:26
    大小: 4.44MB
    上传者: lyyinhe_xi
    UFUN开发板学习笔记2.OLED能显示哪些ASC符号源程序