spi

(BLE) CC2640R2 BIM下 SPI接口驱动能力问题

不羁的心 提交于 2019-12-07 02:05:10
Demo(示例代码)提供的bim工程使用sFlash,其spi接口上只挂载了这一个外设,因此没问题。 但实际项目,有2个spi外设,这样需要考虑spi接口驱动能力。 因此如下代码必须添加在SPI初始化接口中: //MUST add these code, //this makes spi multiply devices drive capbility IOCIOPortPullSet(BSP_SPI_MISO,IOC_IOPULL_DOWN); IOCIODrvStrengthSet(BSP_SPI_MOSI,IOC_CURRENT_8MA,IOC_STRENGTH_MAX); IOCIODrvStrengthSet(BSP_SPI_CLK_FLASH,IOC_CURRENT_8MA,IOC_STRENGTH_MAX); 1,分别表示需要给MISO接口进行下拉处理,否则其波形会有问题(当外设为高阻态时候) 2,CLK和MOSI必须设置最大的驱动能力。 在APP程序中,使用了TI的中间层, 实现文件《SPICC26XXDMA.c》里的 SPICC26XXDMA_initIO 函数, 可以看到驱动能力已经初始化为了为 PIN_DRVSTR_MED。 这样在app程序里面挂2个外设可以没有问题。 但是最好设置为max.因为一定几率下会出现问题。 来源: oschina 链接:

单片机高手是这样炼成的!这样学习单片机事半功倍

谁都会走 提交于 2019-12-06 13:54:21
现在的电子产品,随便拿来一个拆开,都能看到单片机的身影,单片机在电子产品中已经成了标配。因为现在的电子产品都是以单片机为核心,根据不同的需求加以不同的外设电路,再做一些认证相关的设计工作,都是这个构架。以智能手环为例,可以实现步数统计、心率检测、液晶显示、与手机蓝牙通讯、手机来电振动等功能,这些功能通过选用相关的传感器、元器件来实现,最后单片机做数据处理和逻辑处理,核心还是单片机,功能框图如下所示。 1-以单片机为核心的智能手环电路框图 如今,各种家电、智能穿戴设备、各种数码产品层出不穷,需求量越来越大,这也使得单片机工程师这个岗位需求量巨大,在不同的公司中,这个岗位有不同的称呼,如单片机工程师、电子工程师、硬件工程师、数电工程师等。相对于互联网程序员,单片机工程师低调的多,因为硬件是一个平台,是幕后,所有的效果、界面都是由代码呈现的,所以程序员成了台上的明星。平台可能只有一个,但是明星却有很多,这就要求你这个平台够硬。可以单片机工程师的重要性并不亚于程序员,而单片机工程师的待遇也不会很差,前提是你要坚持住。 2-华为体脂秤的国产单片机,来自芯海科技 所以,单片机是一门很有用的技术,学会单片机可以找一份很好的研发岗工作,享受很好的工资待遇。但是万事开头难,在初学入门阶段可能摸不着头脑无从下手毫无头绪,如果有了比较好的学习方法,单片机学习起来也是很有趣、很容易的

w5500阶段性总结

半腔热情 提交于 2019-12-06 13:09:15
文章目录 序言 W5500芯片简介 库文件组成介绍 ioLibrary Driver 库文件移植过程 准备接口函数 接口绑定 官方库源码分析 wizchip_conf.c 和wizchip_conf.h w5500.c和w5500.h socket.c和socket.h 总结 序言 最近开始了W5500的编程之旅,我从商家给的例程开始学习,但是渐渐地发现,这些例程有一些缺点(功能不够完善,可移植性差,代码编写不规范,接口不够人性化等等),所以我开始使用WIZnet的官方库。官方库写得很好,移植也很简单,功能全面(毕竟自己的产品)。本篇文章我将会对我最近的学习经历进行一下总结,同时安排一下下一阶段的学习任务。我将分为如下几个部分进行介绍: W5500芯片简介 库文件组成介绍 库文件移植过程 官方库源码分析 总结 W5500芯片简介 W5500 是一款全硬件 TCP/IP 嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方 案。W5500 集成了 TCP/IP 协议栈,10/100M 以太网数据链路层(MAC) 及物理层(PHY),使得 用户使用单芯片就能够在他们的应用中拓展网络连接。 久经市场考验的 WIZnet 全硬件 TCP/IP 协议栈支持 TCP,UDP,IPv4,ICMP,ARP,IGMP 以及 PPPoE 协议。W5500 内嵌 32K

STM32F1 - Using master SPI on bare metal

你。 提交于 2019-12-06 11:28:40
I've been trying to port some of my AVR code to drive a simple SPI LCD to ARM as a learning exercise (I'm very new to ARM in general). For this I just need to use SPI in master mode. I looked in the datasheet for my device (STM32F103C8) and found that the SPI1 pins I need, SCK and MOSI are mapped as alternative functions of PA5 and PA7, respectively, along with other peripherals (pg.29). My understanding is that in order to use the SPI function on these pins, I need to make sure that anything else mapped to the same pin is disabled. When looking at the defaults for the peripheral clock control

单片机高手是这样炼成的!这样学习单片机事半功倍

谁说胖子不能爱 提交于 2019-12-06 07:27:34
现在的电子产品,随便拿来一个拆开,都能看到单片机的身影,单片机在电子产品中已经成了标配。因为现在的电子产品都是以单片机为核心,根据不同的需求加以不同的外设电路,再做一些认证相关的设计工作,都是这个构架。以智能手环为例,可以实现步数统计、心率检测、液晶显示、与手机蓝牙通讯、手机来电振动等功能,这些功能通过选用相关的传感器、元器件来实现,最后单片机做数据处理和逻辑处理,核心还是单片机,功能框图如下所示。 1-以单片机为核心的智能手环电路框图 如今,各种家电、智能穿戴设备、各种数码产品层出不穷,需求量越来越大,这也使得单片机工程师这个岗位需求量巨大,在不同的公司中,这个岗位有不同的称呼,如单片机工程师、电子工程师、硬件工程师、数电工程师等。相对于互联网程序员,单片机工程师低调的多,因为硬件是一个平台,是幕后,所有的效果、界面都是由代码呈现的,所以程序员成了台上的明星。平台可能只有一个,但是明星却有很多,这就要求你这个平台够硬。可以单片机工程师的重要性并不亚于程序员,而单片机工程师的待遇也不会很差,前提是你要坚持住。 2-华为体脂秤的国产单片机,来自芯海科技 所以,单片机是一门很有用的技术,学会单片机可以找一份很好的研发岗工作,享受很好的工资待遇。但是万事开头难,在初学入门阶段可能摸不着头脑无从下手毫无头绪,如果有了比较好的学习方法,单片机学习起来也是很有趣、很容易的

W5500 学习开发: W5500学习说明

陌路散爱 提交于 2019-12-06 06:21:59
前言      官方已经给了大部分的例子,我只是做一下移植说明 这一节看一下如何移植官网程序的DHCP    首先先明确:单片机和W5500通信是通过SPI,所有的数据都是通过SPI接收和发送, 所以,拿到官方源码只需要根据自己的原理图修改SPI部分 改一下配置的引脚 注意:咱之所以那样写,是因为 注: 咱现在不需要修改这个名字 因为没有必要.....咱用的SPI1 如果自己觉得想修改的话可以这样 实际上官方给的程序就是让您把自己的SPI放到这里 如果自己想修改名字,自行修改.......... 编译 然后把程序下载进去 让电脑串口和STM32通信 通信选择可以看原理图,,原理图的位置和PCB一致 短接BOOT0和3.3V 复位一下单片机 去掉BOOT0和3.3V的短接,复位下单片机 接上网线,连接到路由器 注意哈,连接的是 打开串口调试助手 复位下STM32 结语   其实也就是根据自己的改一下SPI口而已......    来源: https://www.cnblogs.com/yangfengwu/p/11965217.html

树莓派4的GPIO接口介绍

不打扰是莪最后的温柔 提交于 2019-12-06 04:39:51
树莓派4的GPIO接口保留了以前型号的标准功能,也引入了一些额外的功能。下面让我们来看看这个标准的40针接口都有哪些变化,具体都是哪些功能? 通用输入/输出接口 GPIO 通用输入/输出就是GPIO的意思,GPIO很形象地描述了树莓派上这些接口的工作方式,它们类似于Arduino 数字或模拟端口,因为我们可以将它们配置为读或写。通过这些接口,可以让树莓派和不同的模块组件进行交互,比如按钮、电位器或者蜂鸣器等。 在实际使用中,我们应该熟悉树莓派接口的两种命名方案:1.WiringPi 编号、BCM编号、物理编号(Physical – Number)。WiringPi 编号是功能接线的引脚号(如TXD、PWM0等等);BCM编号是 Broadcom 针脚号,也即是通常称的GPIO;物理编号是PCB板上针脚的物理位置对应的编号(1~40)。 电源和接地 电源和接地引脚用于外部电路供电。所有版本标准40针 GPIO版本的树莓派都有两个5V引脚和两个3.3V引脚,而且均在同一个物理位置。除了5V和3.3V引脚外,它们还有8个接地引脚。电源和接地脚可以让你的树莓派为一些外部元件供电,如LED。需要注意的是,通过这些引脚为任何外部模块或元器件供电之前,应该保持谨慎,过大的工作电流或峰值电压均有可能损坏树莓派。 其它接口功能 在实际使用中,许多项目还需要一些不同的功能

SPI Slave setup on STM32F4 board

泄露秘密 提交于 2019-12-06 02:30:01
问题 I am trying to communicate between two STM32F4 discovery boards via SPI in Master & Slave configuration. I already have the code for the master but I am a bit confused on the changes I need to make on the SPI initialisation for the slave. I would also like to implement an interrupt whenever the master is sending data, rather than having the slave poll the RXNE register all the time. However, I am unsure of the exact configurations for the NVIC for the SPI. Below is the master's configuration

STM32F746-DISCO运行Linux4.19

自闭症网瘾萝莉.ら 提交于 2019-12-05 22:10:54
STM32F746-DISCO运行Linux4.19 Linux Kernel 主线linux已经提供对无MMU的处理器的支持,configs中已经存在stm32_defconfig,DTS中包含:stm32f746-disco;因此只需要编译即可。 下载主线源码: http://cdn.kernel.org/pub/linux/kernel/v4.x 安装交叉编译链,可以使用之前编译uboot的arm-none-eabi-gcc,但是这个是编译链线程模式是single,而不是posix,也就是说虽然这个编译链可以编译内核和根文件系统,但是不能编译linux应用程序。如果需要支持编译linux应用程序(一般要支持,不然移植linux干嘛--!),则需要自己去构建交叉编译链,网上讲解的比较详细,不过我推荐使用Buildroot来构建支持stm32的交叉编译链,简单快捷,当然也可以用Buildroot来构建内核和根文件系统。 根文件系统 根文件系统可以使用busybox构建,也可以使用buildroot构建。 elinux.org提供了一个使用busybox编译好的Ramdisk最小系统, File:Stm32 mini rootfs.cpio.bz2 , 但需要做如下改动: 使用initramfs,将下载的Stm32_mini_rootfs.cpio.bz2解压,先解压成cpio文件

JDK源码解析之Java SPI机制

左心房为你撑大大i 提交于 2019-12-05 19:52:22
1. spi 是什么 SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。 系统设计的各个抽象,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了开闭原则,Java SPI就是为某个接口寻找服务实现的机制,Java Spi的核心思想就是解耦。 整体机制图如下: Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。 总结起来就是:调用者根据实际使用需要,启用、扩展、或者替换框架的实现策略 2. 应用场景 数据库驱动加载接口实现类的加载 JDBC加载不同类型数据库的驱动 日志门面接口实现类加载 SLF4J加载不同提供应商的日志实现类 Spring Servlet容器启动初始化 org.springframework.web.SpringServletContainerInitializer Spring Boot 自动装配过程中,加载META-INF/spring.factories文件,解析properties文件 Dubbo Dubbo大量使用了SPI技术,里面有很多个组件,每个组件在框架中都是以接口的形成抽象出来 例如Protocol 协议接口 3.