资源简介
freeRTOS,hal库,stm32f4,硬件SPI和模拟spi方式,与通信rn8209,实际运用过。
代码片段和文件信息
/*********************************************************************************
File info : rn8209d.c
Mark :
*********************************************************************************/
/********************************************************************************
Head files
*********************************************************************************/
#include “data.h“
#include “type.h“
#include “time.h“
#include “math.h“
#include “stdlib.h“
#include “stdio.h“
#include “string.h“
#include “rn8209d_reg.h“
#include “cal.h“
#include “rn8209.h“
#include “debug.h“
#include “bcd.h“
//#include “freq_com.h“
#include “control.h“
//===============================================================================
//===============================================================================
extern SPI_HandleTypeDef hspi2;
//#define NOP() {int i; for (i = 0; i < 5; i++);}
//#define Delay2us() {int i; for (i = 0; i < 50; i++);}
#define delay_us(x) {int i; for (i = 0; i < x; i++);}
#define RN8209_CS(x) HAL_GPIO_WritePin(SPI2_NSS_GPIO_Port SPI2_NSS_Pin x)//PB12
#define RN8209_RST(x) HAL_GPIO_WritePin(RN8302B_RESET_GPIO_Port RN8302B_RESET_Pin x)//PC0
//#define RN8209_CLK(x) HAL_GPIO_WritePin(GPIOB GPIO_PIN_9/*10*/ x)//PB9//PB10
//#define RN8209_MOSI(x) HAL_GPIO_WritePin(GPIOC GPIO_PIN_14/*3*/ x)//P14//PC3
#define phase_A 0
#define phase_B 1
//===============================================================================
//===============================================================================
//typedef enum {ERROR = 0 SUCCESS = !ERROR} ErrorStatus;
//===============================================================================
//===============================================================================
read_from_rn8209_type rn8209;
//calibrate_type calibrate;
//默认换算系数
#define rn8209_Cst_Kia 41938
#define rn8209_Cst_Kib 44529
#define rn8209_Cst_Ku 8711
static rt_data_type out_data;
rt_data_type rtdata;
U64 VoltPowerFactorOutputCurrentFreqF_PowerN_PowerS_PowerAngleF_EnergyN_Energy;
//===============================================================================
rt_data_type *get_tn_rtdata_ptr( int tn )
{
return &out_data;
}
double acos(double x);
/* SPI2 init function */
void MX_SPI2_rn8209(void)
{
if (HAL_SPI_DeInit(&hspi2) != HAL_OK)
{
_Error_Handler(__FILE__ __LINE__);
}
hspi2.Instance = SPI2;
hspi2.Init.Mode = SPI_MODE_MASTER;
hspi2.Init.Direction = SPI_DIRECTION_2LINES;//
hspi2.Init.DataSize = SPI_DATASIZE_8BIT;
hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
hspi2.Init.CLKPhase = SPI_PHASE_2EDGE;//
hspi2.Init.NSS = SPI_NSS_SOFT;
hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_256;//
hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi2.Init.TIMode = SPI_TIMODE_DISABLE;
hspi2.Init.CRCCalcu
- 上一篇:计算机网络习题及参考答案
- 下一篇:基于51单片机的人体心率采集
相关资源
- Spire API文档
- The direction of synaptic plasticity mediated
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- 28335写的用spi读取传感器数据并用CA
- STM32F103 CC2500完整驱动(模拟SPI)
- halcon 测量助手
- 手机短信api接口(源代码)
- cs5530的SPI程序
- 9s12单片机SPI功能代码
- stm32 用SPI 方式读写 SDHC
- SPI Master 的Verilog源代码
- halcon简单实现人脸识别.hdev
- halcon极坐标变换傅里叶变换
- halcon算子速查手册.pdf115507
- halcon-ocr训练及识别
- Halcon车牌识别
- halcon实现创建模板中心可以任意设置
- halcon-标定与精确测量
- labview掉halcon.vi
- 基于HALCON识别指示灯亮灭和OCR识别.
- Spire.Doc 破解版
- halcon跟随测量.hdev
- 视觉分拣.hdev
- Halcon之OCR(看完必会)
- Spin-1目标的广义parton分布的多项式和
- 介子和S波氘核的四极矩以及对spin-1系
- 基于SPCE061A和PTR8000的模拟SPI总线通信
- 用8位spi实现16位spi
- linux SPI设备注册和驱动小结
评论
共有 条评论