请教下串口通信的问题

leeshohwa 2011-07-04 01:33:25
在一个sd+vs1003b的例子程序中,摘部分代码如下:
mmc_sd.h
#define MMC_SD_SCK_DDR DDRB
#define MMC_SD_SCK_PORT PORTB
#define MMC_SD_SCK_BIT 1
....
vs1003.h
#define VS1003B_SCK_DDR DDRB
#define VS1003B_SCK_PORT PORTB
#define VS1003B_SCK_BIT 1
....
lcd.h
#define LCD_SCK_DDR DDRB
#define LCD_SCK_PORT PORTB
#define LCD_SCK_BIT 1
三个外设都使用了spi的pb端口做串行通信,那么pb端口的引脚是否也与三个外设相连,那么怎么区分当前正在与哪个外设通讯?请指点
...全文
118 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdygrdzh 2011-07-04
  • 打赏
  • 举报
回复
选通哪个chip select管脚是驱动的事情,如果要判断,1看驱动怎么写.2量chip select电压,看如果低电平有效,那么哪个低就是哪个被选中了.
bjtea 2011-07-04
  • 打赏
  • 举报
回复
SPI从机有一个片选端,被选中之后,才会与SPI主机通讯。
qllaoda 2011-07-04
  • 打赏
  • 举报
回复
SPI的片选信号
概述 PT262272是一种CMOS工艺制造的低功耗低价位通用编解码电路,是目前在无线通讯电路中作地址编码识别最常用的芯片之一。PT22622272最多可有12位(A0-A1)三态地址端管脚(悬空,接高电平接低电平),任意组合可提供53144地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出。   PT22622272必须用相同地址码配对使用,当需要增加一个通讯机时,用户不得不求助于技术人员或厂家来设置相同地址码,客户自己设置相对比较麻烦,尤其对不懂电子的人来说。随着人们对操作的要求越来越高,PT2262/2272的这种配对使用严重制约着使用的方便性,人们不断地要求使用一种无须请教专业人士,无须使用特殊工具,任何人都可以操作的方便的手段来弥补PT22622272的缺陷,这就是PT2262软件解码。   上面是PT2262的一段波形,可以看到一组一组的字码,每组字码之间有同步码隔开,所以我们如果用单片机软件解码时,程序只要判断出同步码,然后对后面的字码进行脉冲宽度识别即可。   2262每次发射时至少发射4组字码,2272只有在连续两次检测到相同的地址码加数据码时才会把数据码中的“1”驱动相应的数据输出端为高电平和驱动VT端同步为高电平。因为无线发射的特点,第一组字码非常容易受零电平干扰,往往会产生误码,所以程序可以丢弃处理。
回想很多年前自己第一次尝试做数控电源,当时选择了STC的单片机,显示用数码管,PCB也打板了,PCB打板就花了500多,由于能力有限,最终于没能做个完整的作品出来,残缺的作品早已丢弃,但是我对数控电源的情怀却一直没有丢失。 最近DIY数控电源的想法萌芽出来了,这时已经工作几年了,见过的东西也多了,已有一些积累,所以做起来就顺利多了,做做停停,经过不停的改版升级请教,最终,数控电源是做出来了,经过测试使用发现是令我满意的。 数控电源的的特点: 1. 常规可调直流电源功能,0-30V/0-5A 可调 2.有电量计功能,如给电池充电,可以统计电量和功率量 3.可以设定电压,电流的上限值,超过则报警保护 4.可以设定脉冲输出,实现对外面电路不断的上电和断电 5.有串口通信 数控电源主要由下面几部分组成: 1、显示面板。12个按键开关,1个无极限旋钮开关,2个4位LED显示,1个128*64LCD 2、主控板。主控IC STM32F103VC(内含两通道12bit DA 调节电压电流),扩展2片16位ad转换芯片TM7705(兼容AD7705)检查电流电压,一路485通信接口,一路232转USB接口,多个IO输出控制输出。 3、功率板。3个继电器控制变压器绕组切换,整流滤波,2个功率MOS IRF250实现降压恒流,运放组成电压电流控制环驱动功率MOS,一个NTC感应MOS温度,与主控板相连。 4、变压器,用环牛把220V交流电变压成0~7~21~36V 双20V 单9V 几种电压输出,0~7~21~36V是输出电压的来源,双20V是运放,风扇,继电器的工作电源,单9V是主控板的电源。
概述:宠物智能饲养监测系统基于RT-Thread的ART-PI开发板,主控STM32F750XBH6,支持采集温度、湿度和光照数据,实现高温本地和远程预警,智能照明控制,实时采集数据并通过 WIFI 上传云端,针对智能宠物管理提供一个较好的使用范例,也是自己借参加本次活动,首次实操使用RT-Thread rtos,实现功能是次要目的,学习和使用rtt是初衷,之后本项目会继续增加新功能,简单来说这是一个比较实用的。 开发环境硬件:ART-PI 扩展板:DHT11温湿度传感器,BH1750光照传感器和灯控模块 RT-Thread版本:RT-Thread V 4.0.3 开发工具及版本:RT-Thread-studio v2.0.0,STM32CubeMX v6.1.0 RT-Thread使用情况概述内核部分:调度器。 调度器:创建多个线程来实现不同的工作。 组件部分:I2C框架, Sensor框架, SAL 套接字抽象层 I2C框架:使用I2C框架来驱动光照传感器,上层代码可以提高代码的可重用性。 Sensor框架:为上层提供统一的操作接口,提高上层代码的可重用性;简化底层驱动开发的难度,可以非常简单的读取传感器采集数值。 SAL 套接字抽象层:组件完成对不同网络协议栈或网络实现接口的抽象并对上层提供一组标准的 BSD Socket API,这样开发者只需要关心和使用网络应用层提供的网络接口,而无需关心底层具体网络协议栈类型和实现,极大的提高了系统的兼容性,方便开发者完成协议栈的适配和网络相关的开发 软件包部分: Webclient: 提供设备与 HTTP Server 的通讯的基本功能,主要使用http post。 BH1750FVI: 该传感器软件包提供了使用光照强度传感器基本功能,BH1750FVI 是一种用于两线式串行总线接口的数字型光强度传感器集成电路,具有较高的分辨率可以探测较大范围的光强度变化(范围: 1lx-65535lx),特别适合对光照环境要求较高的场景。 硬件框架ART-PI采集到数据上传到云端(目前使用自己php+mysql,断网本地存储测试中)。 软件框架说明上电初始话后,检测传感器变化,满足设定条件的,通过wifi上传到服务器端 目前服务器端只提供数据处理和存储 软件模块说明bh1750_thread_entry: 光照传感器线程 dht11_thread_entry:温湿度传感器线程 user_webclient_post:http_post main:led 闪烁,用来检测当前系统的运行状态。 演示效果视频演示比赛感悟首先非常感谢RTT和电路城以及ST等一起举办的这次活动。 由于第一次使用M7核mcu以及第一次使用rtt操作系统,从小白一步一步学习,测试,看文档,请教,虽然目前还是小白水平,但是确确实实是一次难得的机会,不亲自实践就永远不知道自己的水平在哪,也不能了解rtt便捷。不得不说,结束rtt studio之后,使用起来非常顺手,再者H750 480MHz搭配art-pi强悍的设计,用于之后的复杂功能开发测试有巨大的升级空间。 这次比赛不仅仅是学到了,rtt stm32的软硬件知识,更多的是和许多志同道合的小伙伴,讨论与分享自己的所获所得,这也是一种开源精神。 最后要说声抱歉,鉴于没有充分认识到自己有限的水平,虽然近一个月的时间,还只能写出这样的水平,心比天高无奈水平一般,但是这是一个开始,会围绕设计主题,做持续的更新,不断学习和实践,继续让art-pi发光发热。 感谢!!!

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧