搜索
查看: 2945|回复: 3

[求助] 用F3系列的STM32芯片读取TDC_GP22的寄存器

[复制链接]

该用户从未签到

9

主题

308

帖子

50

蝴蝶豆

金牌会员

最后登录
2019-12-16
发表于 2018-8-14 19:52:58 | 显示全部楼层 |阅读模式
代码在附件中。
用STM32读取的TDC_GP22的结果寄存器,但是,SPI通信读取到的返回值一直是0。整个板子供电正常,无任何硬件短路断路问题,已经检验SPI通信,SPI模块没有问题,外接了2路脉冲信号源做测试。不知道有没有人,用过这款芯片?已经挣扎数个月,请大神指教。



GP22_main_AN034.zip

6.91 KB, 下载次数: 64, 下载积分: ST金币 -1

GP22主函数

回复

使用道具 举报

该用户从未签到

0

主题

2

帖子

2

蝴蝶豆

初级会员

最后登录
2020-7-17
发表于 2018-11-28 15:40:15 | 显示全部楼层
你好,我在调试GP21,SPI通信测试一直通不过。目前我只初始化了IO口,复位,测试(给寄存器1写入数据、写入操作码0xb5,读取8位数据)

#include "gp21.h"

void DelayNS(unsigned long dly)
{
        unsigned int  i;
                for(i=0;i<dly;i++);
}

void SPI2_TDC_INIT(void)
{
        GPIO_InitTypeDef  GPIO_Initure;
        __HAL_RCC_GPIOE_CLK_ENABLE();

        GPIO_Initure.Pin=GPIO_PIN_12|GPIO_PIN_14;
    GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;          //推挽输出
    GPIO_Initure.Pull=GPIO_PULLUP;                  //上拉
    GPIO_Initure.Speed=GPIO_SPEED_HIGH;                     //高速
    HAL_GPIO_Init(GPIOE,&GPIO_Initure);

        GPIO_Initure.Pin=GPIO_PIN_13;
    GPIO_Initure.Mode=GPIO_MODE_INPUT;                  //输入
    GPIO_Initure.Pull=GPIO_PULLUP;                  //上拉
    HAL_GPIO_Init(GPIOE,&GPIO_Initure);
}

void TDC_Configuration(void)
{
        GPIO_InitTypeDef GPIO_Initure;
       
        __HAL_RCC_GPIOD_CLK_ENABLE();
        __HAL_RCC_GPIOG_CLK_ENABLE();
       
        GPIO_Initure.Pin=GPIO_PIN_11;//GPIO_PIN_9|GPIO_PIN_10|
    GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;          //推挽输出
    GPIO_Initure.Pull=GPIO_PULLUP;                  //上拉
    GPIO_Initure.Speed=GPIO_SPEED_HIGH;                     //高速
    HAL_GPIO_Init(GPIOD,&GPIO_Initure);

        GPIO_Initure.Pin=GPIO_PIN_5;//|GPIO_PIN_7
    GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;          //推挽输出
    GPIO_Initure.Pull=GPIO_PULLUP;                  //上拉
    GPIO_Initure.Speed=GPIO_SPEED_HIGH;                     //高速
    HAL_GPIO_Init(GPIOG,&GPIO_Initure);
}

void TDC_RESET(void)
{
        SET_TDC_RESET();
        DelayNS(100);
        CLR_TDC_RESET();
        DelayNS(100);
        SET_TDC_RESET();
        DelayNS(100);
}

unsigned char Test_SPI_Communicate(void)
{

        int register1 = 0x81ffffff;

        unsigned char test_reg=0xb4; //读结果寄存器5,反映寄存器1 的高8 位
        unsigned char test_reg0=0x00;
//         unsigned char test_reg1=0x81; //读结果寄存器5,反映寄存器1 的高8 位

        DelayNS(500);
        CLR_TDC_NSS();
        DelayNS(5);
        for (int i=0;i<32;i++)
        {
                SET_TDC_SCK();
                DelayNS(5);
                if (register1&0x80000000)
                {
                        SET_TDC_SI();
        }
                else
                        CLR_TDC_SI();
                DelayNS(5);
                CLR_TDC_SCK();
                DelayNS(5);
                register1=register1<<1;
        }
        DelayNS(5);
        SET_TDC_NSS();


        DelayNS(500);
        CLR_TDC_NSS();
        DelayNS(5);
        for (int i=0;i<8;i++)
        {
                SET_TDC_SCK();
                DelayNS(5);
                if (test_reg&0x80)
                        SET_TDC_SI();
                else
                        CLR_TDC_SI();
                DelayNS(5);
                CLR_TDC_SCK();
                DelayNS(5);
                test_reg=test_reg<<1;
        }

        for(int j=0;j<8;j++)
        {
                SET_TDC_SCK();
                DelayNS(5);
                test_reg0=test_reg0<<1;
                if (HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_13) ==0)
                {
                        test_reg0 &=0x01;
                }
                else
                {
                        test_reg0 |=0x01;
                }
                CLR_TDC_SCK();
                DelayNS(5);
        }
        SET_TDC_NSS();
     return test_reg0;
}

可以帮我分析以下问题在哪吗
回复 支持 反对

使用道具 举报

该用户从未签到

100

主题

1255

帖子

191

蝴蝶豆

论坛元老

最后登录
2024-1-26
发表于 2018-11-28 15:50:52 | 显示全部楼层
使用这个芯片测量时间,使用1通道还是2通道
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

265

帖子

0

蝴蝶豆

金牌会员

最后登录
2022-6-8
发表于 2021-3-5 16:07:21 | 显示全部楼层
你好 是否有联系方式 有几个关于GP21的问题想问下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-26 11:48 , Processed in 0.166662 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表