cc1101+stm32数据发送和接收之间怎么转换。接收用的是中断方式

zc767598314 2013-08-20 03:41:39
cc1101+stm32数据发送和接收之间怎么转换。接收用的是中断方式
...全文
1224 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
#include "remote.h" #include "delay.h" #include "usart.h" ////////////////////////////////////////////////////////////////////////////////// //本程序只供学习使用,未经作者许可,不得用于其它任何用途 //ALIENTEK战舰STM32开发板 //红外遥控解码驱动 代码 //正点原子@ALIENTEK //技术论坛:www.openedv.com //修改日期:2012/9/12 //版本:V1.0 //版权所有,盗版必究。 //Copyright(C) 广州市星翼电子科技有限公司 2009-2019 //All rights reserved ////////////////////////////////////////////////////////////////////////////////// u8 g_IR_RecFlag = 0; //红外接收到标志 //红外遥控初始化 //设置IO以及定时器4的输入捕获 void Remote_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_ICInitTypeDef TIM_ICInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //使能PORTB时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE); //TIM4 时钟使能 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PB9 输入 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //上拉输入 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO;_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_9); //初始化GPIOB.9 TIM_TimeBaseStructure.TIM_Period = 10000; //设定计数器自动重装值 最大10ms溢出 TIM_TimeBaseStructure.TIM_Prescaler =(35-1); //预分频器,1M的计数频率,1us加1. TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式 TIM_TimeBaseInit(TIM4, &TIM;_TimeBaseStructure); //根据指定的参数初始化TIMx TIM_ICInitStructure.TIM_Channel = TIM_Channel_4; // 选择输入端 IC4映射到TI4上 TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Falling; //上升沿捕获..改为下降沿捕获 TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; //配置输入分频,不分频 TIM_ICInitStructure.TIM_ICFilter = 0x03;//IC4F=0011 配置输入滤波器 8个定时器时钟周期滤波 TIM_ICInit(TIM4, &TIM;_ICInitStructure);//初始化定时器输入捕获通道 TIM_Cmd(TIM4,ENABLE ); //使能定时器4 NVIC_InitStructure.NV
作者:zhouyuanzhi 作品概述 农作物的生长状况与其周边环境是息息相关的,对农业环境进行实时监控,及时调整有关环境参数,能够有力促进农作物增产增收。基于WSN的农作物环境监测系统将结合现代生态农业技术、现代无线传感技术、水肥药一体化技术等先进技术,来采集、传输、存储、查询并分析农作物的环境信息,为农业生产提供科学指导。 开发环境 硬件:STM32F407,CC2530,Fibocom L610,BH1750光照强度传感器,DHT11温湿度传感器,土壤PH传感器,土壤温湿度氮磷钾传感器。 RT-Thread版本:RT-Thread Nano 3.1.3 开发工具及版本:MDK 5.27,STM32CubeMx RT-Thread使用情况概述 内核部分:调度器,信号量,线程。 调度器:创建多个线程来实现不同的工作。 线程:uart2_rx_thread_entry和led_thread_entry uart2_rx_thread_entry线程接收到串口2中断回调函数释放的信号量后,对数据进行整理并上传至阿里云;led_thread_entry线程使LED间隔1秒闪烁,提示系统正在运行。 系统硬件介绍 系统由终端节点、路由器节点、协调器节点、STM32F407通讯网关、云服务器四部分组成。终端节点以CC2530为核心通过传感器采集空气温湿度、光照强度、土壤温湿度、土壤氮磷钾含量以及土壤PH值数据信息并通过ZigBee协议传输数据到路由器,再经路由器转发至协调器,协调器接收数据后通过串口把数据转发给STM32F407通讯网关,STM32F407通讯网关完成数据汇总,解析,打包,在LCD上显示采集到数据,并通过GPRS上传数据至阿里云IOT平台,阿里云IOT平台将数据包通过AMQP服务端订阅转发到智慧农业系统。系统整体结构图如图所示。 系统软件介绍 硬件端采集到所有环境数据后,按照协议将所有数据封装成包。并将这些数据包上传到阿里云IOT平台。上传到服务器时采用的协议是MQTT协议;阿里云IOT平台将数据包通过AMQP服务端订阅转发到智慧农业系统的后端服务器;智慧农业系统的后端服务器按照规则完成数据包的解析,并将解析出的环境数据存入MySql数据库中;后端将数据数据库中取出发送到前端并在网页上显示所有环境数据。 演示效果 采集终端: 路由器和协调器: 网关: 数据采集和上传: 代码地址(附件为代码地址,下载后打开可见)

715

社区成员

发帖
与我相关
我的任务
社区描述
硬件使用 外设及办公设备
社区管理员
  • 外设及办公设备社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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