邵子扬 向他提问 +关注

shaoziyang

一起来玩MicroPython

个人成就:
打造MicroPython开发板
著有《AVR单片机应用专题精讲》
工  作:
武汉思凡达公司 技术总监
在  行:
热门开发板专区 
联系方式:
邮箱: shaoziyang@126.com

精彩问答

  • 问:
    0.96寸OLED屏I2C控制显示
    答:
    有micropython的例子,使用非常简单。可以参考下面的帖子:http://www.micropython.org.cn/bbs/forum.php?mod=viewthread&tid=6​详情>
    1人赞过
  • 问:
    mbed开发问题
    答:
    onenet的开发板没有用过。看onenet它的介绍是使用了STM32F103CB,和Nucleo-F103RB类似,可以直接使用Nucleo-F103RB的模板。另外虽然开发板的资料网盘失效打不开,但是从元件表看应该是使用内部RC时钟,和Nucleo-F103RB上不同,需要修改时钟配置才能运行。首先在Mbed在线IDE中创建Nucleo-F103RB程序,使用任何一个例程做模板都可以。然后删除mbed部分(这部分没有源码,不能直接修改)。然后用导入功能(import),搜索并添加mbed-dev(源码)。在将整个项目导出来。找到并打开system_stm32f1xx.c文件,再找到下面的定义,将数字1改为0,这样就可以使用内部RC时钟。/* Select the clock sources (other than HSI) to start with (0=OFF, 1=ON) */#define USE_PLL_HSE_EXTC (1) /* Use external clock */#define USE_PLL_HSE_XTAL (1) /* Use external xtal */然后就是在Mbed网站的驱动库(component),找到对应传感器,加入到自己的项目文件中,就可以很快读取传感器的数据。最后就是根据onenet的协议开发网络部分了。详情>
    1人赞过
  • 问:
    为什么STM32是单片机而不属于嵌入式呢?
    答:
    STM32还是Cotex-M内核,资源相对较少,常用于底层的控制。STM32也有很多型号,M0/M3基本还是单片机范畴,而M4/M7就是相对高端应用了。嵌入式的概念现在也是不断发生变化,以前可以跑RTOS就可以叫嵌入式,现在感觉不跑个Linux、Android就不好意思说是嵌入式了。详情>
    0人赞过
  • 问:
    恩智浦MAPS四色版MCU专属开发套件可以做什么小的项目求意
    答:
    四色板有几个系列了,主要区别是主MCU型号不同,其它的都类似。如果是初学者,可以尝试从Mbed开始,因为它入门非常快,使用简单,支持的传感器、模块、液晶很多。虽然Mbed的开发板列表中没有四色板,但是可以选择一个相同MCU的开发板,就能够轻松的移植过去。四色板和其它开发板类似,大部分GPIO和功能都引出了,可以满足各种应用的要求,只要从一个程序深入下去,就可以逐步掌握各种开发方法和技巧。另外NXP上周刚推出了MCUXpresso-IDE开发环境,它将LPCXpresso-IDE和Kinetis Design Studio IDE的功能整合到一起,使用更加方便了。http://www.nxp.com/products/software-and-tools/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE?tid=vanMCUXPRESSO/IDE​详情>
    2人赞过
  • 问:
    树莓派可以使用哪种无线方式同时连接多个单片机节点双向通信?
    答:
    如果没有功耗要求,用wifi是可以的,用ESP-12模块,通过串口命令和rpi通信。或者用2.4G的串口透传模块也可以。详情>
    0人赞过
  • 问:
    新手求教一下大神们关于 Arduino UNO 板子的问题
    答:
    直接读取啊。高电平就返回1,低电平是0。详情>
    0人赞过
  • 问:
    STM32如何在SD卡内创建txt文件
    答:
    这个不需要rtos,只要有SD和FAT的库就可以。如果用micropython,也可以非常方便的在SD或者内部flash中创建和修改文件。详情>
    0人赞过
  • 问:
    树莓派上可以安装STM32的编译环境吗?
    答:
    不能安装KEIL和IAR,但是可以安装Linux版的GCC-arm-none-eabi,开源的AC6也有Linux版本的。详情>
    2人赞过
  • 问:
    EBWE、EBMWE是哪个寄存器?
    答:
    在AVR GCC中,我们通常不直接通过寄存器操作EEPROM,而是利用eeprom.h中的函数,这样通用性号,可以适合大部分AVR单片机。寄存器的含义参考一下数据手册吧,eeprom_read_byteeeprom_read_wordeeprom_read_dword​eeprom_write_byteeeprom_write_wordeeprom_write_dword​详情>
    0人赞过
  • 问:
    MEGA88与MEGA8的区别是什么?
    答:
    mega88是升级型号,内核其实有很多不同,但是寄存器上基本一样,HEX文件也基本兼容。主频上mega88高一些,低功耗性能要强很多另外mega8早就停产了,现在是mega8A。详情>
    0人赞过
  • 问:
    安装2个Linux出现的问题
    答:
    虚拟机下运行linux虽然不是很快,但是一般也不会卡住。看看是不是内存和硬盘设置较小?还有是不是因安装了什么软件造成系统文件出问题了。详情>
    0人赞过
  • 问:
    帮帮我这个小白 ATmega128 PWM 产生方波
    答:
    AVR单片机的PWM输出,由时钟频率、时钟分频系数、时间常数等几个参数决定。硬件产生任意频率的PWM是做不到的,只能通过这几个参数的组合计算,看能不能产生需要的频率。当然,如果要求不高,可以用延时的方法,这样产生频率的范围就大多了。详情>
    0人赞过
  • 问:
    虚拟电脑串口通讯
    答:
    问题的描述有些简略了,需要将错误提示贴出来大家分析。Linux下的串口,通常容易遇到权限问题,可以增加一下udev规则,避免每次都使用sudo$ sudo vim /etc/udev/rules.d/90-serials.rulesKERNEL=="ttyS[0-9]",NAME="%k",GROUP="tty",MODE="0666"KERNEL=="ttyUSB[0-9]",NAME="%k",GROUP="tty",MODE="0666"​KERNEL=="ttyACM[0-9]",NAME="%k",GROUP="tty",MODE="0666"​串口软件可以使用putty,比minicom简单易用一些。详情>
    0人赞过
  • 问:
    求助 bluno 如何通过编程的方式获取蓝牙当前的连接状态
    答:
    bluno没有状态指示脚,不能直接获取状态。估计只能通过AT命令查询状态了。你试试AT+FSM=?命令行不行?下面是完整的AT命令列表,供参考http://wiki.dfrobot.com.cn/index.php/(SKU:DFR0267)Bluno%E8%93%9D%E7%89%994.0%E6%8E%A7%E5%88%B6%E5%99%A8_%E5%85%BC%E5%AE%B9Arduino#AT_.E6.8C.87.E4.BB.A4.E5.88.97.E8.A1.A8​详情>
    1人赞过
  • 问:
    各位大神谁做过STM32L151的开发? 请教一下,谢谢
    答:
    和其它STM32的开发没有太大区别,看你遇到什么问题了。详情>
    0人赞过
  • 问:
    bbb中国版和进口版有实质区别吗?
    答:
    应该没有吧。国产的成本会更低一些,部分元件可能会用替代型号。详情>
    0人赞过
  • 问:
    哪位哥们 能 看看是啥问题嘛??
    答:
    如果确信111.wav存在,那就是文件格式问题,需要转换一下,如降低采样率。详情>
    0人赞过
  • 问:
    Python为什么直接运行和在命令行运行同样语句但结果却不同
    答:
    应该是相同的,可能与你的运行环境有关详情>
    0人赞过
  • 问:
    OLED标准ASCII字符串显示函数重定义的问题
    答:
    先将电压用sprintf函数转换为str,在调用OLED_P6x8Str详情>
    1人赞过
  • 问:
    at 指令使用中,gpio 口读写操作一直报错,不知道为什
    答:
    具体错误是什么?每个命令最后都需要加回车,就是\r,不是两个字符,而是回车符号。详情>
    1人赞过

关于达人


单片机技术专家,精通多种单片机,在多次设计大赛中取得成绩,著有《AVR单片机应用专题精讲》一书。

 

爱好DIY。

 

现致力于MicroPython的研究和推广,以及智能硬件硬件的应用。


SaveSaveSave

迷你微型MicroPython开发板 PYB Nano

¥68.00 去看看

newbit 开发板-- BBC micro:bit 中国版

¥105.00 去看看
  • 微软的makecode圆周率计算程序

    昨天的3月14日,也是常说的圆周率日,很多公司在这一天会发布和圆周率相关的内容。makecode昨天就增加了一个计算圆周率的小程序,它通过特殊的算法可以快速计算圆周率π,不过有效位数比较低,大概是小数点后2-3位。 http://www.micropython.org.cn/bbs/data/attachment/forum/201803/15/101658kfuarp88zaz1q38p.jpg ...

  • 《micropython 入门指南》正式出版了

    http://www.micropython.org.cn/bbs/data/attachment/forum/201711/04/122255lnj3kwgojukp55c2.jpg 第一本专门介绍MicroPython的中文图书《MicroPython入门指南》由电子工业出版社正式出版了(各大书店和网络书店都有)。 MicroPython是近年开源社区中最热门的项目之一,它功能强大,使用简单,是创客、DIY爱好者、工程师最好的工具,也可以用在专业开发中。 相比另外一个创客神器Arduino,MicroPython使用更加简单、方便,入门更快,性能也更好,更加适合初学者。它无需复杂的设置,不需要安装特别的软件和额外的硬件,也不用编译和下载,只要一个USB线,使用任何文本编辑器就可以进行编程。大部分硬件的功能,使用一个命令就能驱动,不用了解硬件底层就能快速开发,对于产品原型设计、软件移植非常有好处,让开发过程变得轻松,充满乐趣。和传统开发方法相比,使用MicroPython开发产品原型的速度更快,程序也更容易实现模块化,更方便进行维护。和其他一些类似软件相比,MicroPython是可以真正用在产品开发中的。 本书可以作为学习MicroPython的入门读物,也可以作为工具书,查看各种API的用法。本书先介绍MicroPython的起源,然后介绍MicroPython的...

  • micropython 修改了 Nucleo_F401/F411 的 I2C1 引脚定义

    这几天micropython的更新很多,一个变化是修改了 Nucleo_F401/F411 开发板的 I2C1 引脚,从原来的 PB6/PB7 改为了 PB8/PB9,这样就和 Arduino 和 STM32 的习惯一致了。 // I2C busses -#define MICROPY_HW_I2C1_SCL (pin_B6) // Arduino D10, pin 17 on CN10 -#define MICROPY_HW_I2C1_SDA (pin_B7) // pin 21 on CN7 +#define MICROPY_HW_I2C1_SCL (pin_B8) // Arduino D15, pin 3 on CN10 +#define MICROPY_HW_I2C1_SDA (pin_B9) // D14, pin 5 on CN10 这个修改是我去年建议的,没有想到今天才被采纳。:lol https://github.com/micropython/micropython/commit/069fc48bf60b31fca4339d26cee7b4a415b185f9 ...

  • micropython对文件结构做出了较大调整

    昨天micropython的源码做出了重大调整,将所有不同的移植部分,从根目录移动到 ports 目录下 。编译时,虽然还可以进入port目录进行编译,但是更好的方法是在根目录下用 make -C ports/unix make -C ports/stm32 make -C ports/stm32 BOARD=PYBV11 ...

  • 【DFRobot FireBeetle ESP32微控制器试用体验】ADC

    在ESP32上,ADC的使用也非常容易,如: from machine import ADC, Pin adc=ADC(Pin(36)) #A1 adc.read() ESP32的ADC是12位的,因此adc读取的范围是0-4095。ADC也可以设置为9-12位模式,如: adc.width(adc.WIDTH_10BIT) 不是全部GPIO都支持ADC,只有GPIO15、34、35、36、39支持ADC功能。 ...

  • 【DFRobot FireBeetle ESP32微控制器试用体验】DAC

    ESP32带有两路8位的DAC,DAC使用了IO25和IO26,可以方便的输出模拟电压。 from machine import Pin, DAC dac=DAC(Pin(25)) dac.write(10) ...

  • 【DFRobot FireBeetle ESP32微控制器试用体验】PWM

    因为原来帖子打不开了,所以重新发一个。 ESP32上PWM的用法和ESP8266上差不多,使用machine中的PWM就可以控制端口,大部分端口都支持PWM功能,可以使用duty()函数控制占空比,范围是0-1023。 例如,下面代码就可以控制LED的亮度: >>> from machine import Pin, PWM >>> LED=PWM(Pin(2),freq=100) >>> LED.duty(100) ...

  • 【DFRobot FireBeetle ESP32微控制器试用体验】触摸按键

    在ESP32中,集成了电容触摸按键的功能。 在DFRobot FireBeetle ESP32开发板上,触摸按键对应的GPIO如下: 触摸传感器ESP32 的 GPIO FireBeetle Board-ESP32 T0GPIO4DO/IO4 T1GPIO0IO0 T2GPIO2IO2/D9 T3MTDOA4/IO15 T4MTCKIO13/D7 T5MTDIMCLK/IO12 T6MTMSBCLK/IO14 T7GPIO27IO27/D4 T832K_XN T932K_XP 知道了TouchPad的对应关系,我们就可以尝试使用触摸键了。虽然没有文档,但是它的使用也很简单,如: from machine import Pin, TouchPad tp=TouchPad(Pin(27)) tp.read() 检测测试一下,就可以看到明显的变化: while 1: tp.read() time.sleep_ms(500) 2032 2033 2031 758 223 145 116 120 2032 2032 ...

  • 【DFRobot FireBeetle ESP32微控制器试用体验】使用线程

    ESP32支持线程功能,可以利用线程实现多任务。下面演示了线程的基本用法,程序定义了三个线程,一个线程控制LED,另外两个线程打印信息。 import _thread from machine import Pin import time LED = Pin(2, Pin.OUT) def led(dt): while 1: LED.value(not LED.value()) time.sleep_ms(dt) def task(id, dt): cnt = 0 while 1: cnt = cnt+1 print('task%d-%d\n'%(id, cnt)) time.sleep_ms(dt) _thread.start_new_thread(led, (500,)) _thread.start_new_thread(task, (1, 500)) _thread.start_new_thread(task, (2, 1500)) ...

  • 【DFRobot FireBeetle ESP32微控制器试用体验】PWM的用法

    ...

  • 18

    粉丝数量

  • 30

    解决问题

  • 168

    帮助过用户

  • 464

    收到称赞

最近赞过他

同样在行的还有他们

汉云 DSP技术  Linux 系统  STM32讨论区  PIC单片机  PCB技术/设计/定制 

电力系统产品

zhangsf_chongzai Linux 系统  热门开发板专区 

SSD固件开发与维护

MOP FPGA/CPLD  Linux 系统  热门单片机 

開源硬件比賽第一名XD

Peter蒎 嵌入式  热门开发板专区 

物联网产品及自组网技术

辛迪可乐 电路设计  Linux 系统  DIY创客  开发板 

论坛版主,喜欢折腾数码产品、DIY、开源软硬件,5年开发板使用经验,给OrangePi PC和NanoPi M1做过系统,反响不错,做过基于DragonBoard 410c的GPS导航和行车记录仪