577|0

422

帖子

4

TA的资源

纯净的硅(初级)

楼主
 

【芯海传感器信号调理CDS8712开发板】之二 范例代码浅析 [复制链接]

 

 范例代码浅析

1 创建Keil开发环境

1.1 安装好Keil并注册,然后下载并安装keil开发包,这样在Keil的新建工程中,就可以发现这个芯片了

1.2 随后启动范例代码工程,自动打开Keil工程
编译后顺利通过,这个代码运行正常。
不过compiler需要时5.x版本,最新的6.x版本不能通过。因为采用了不兼容的progma命令。
2 连接开发板并下载代码
这个只用SWO和SCL两个引脚就够了,不用Reset引脚,采用公版CMSIS-DAP调试器就可以,能够读出芯片的UUID号

编译和下载顺利通过

说明代码完整有效。
3 范例代码分析
#include "cds871x_conf.h"
#include "cds871x_debug.h"
#include "delay.h"

void gpio_default(void); 
void usart_initiate(void);

int main(void)
{
    int ret;
    delay_init();
    gpio_default();
	usart_initiate();
    while(1)
    {
        gpio_bit_write(GPIO_GROUP_B,GPIO_PIN_NUM4,BIT_SET);
        ret = gpio_input_data_bit_read(GPIO_GROUP_A,GPIO_PIN_0);
        printf("When the PB4 is high level, PA0 = %d",ret);
        delay_ms(500);
        gpio_bit_write(GPIO_GROUP_B,GPIO_PIN_NUM4,BIT_RESET);
        ret = gpio_input_data_bit_read(GPIO_GROUP_A,GPIO_PIN_0);
        printf("When the PB4 is low level, PA0 = %d",ret);
        delay_ms(500);
	}
}

void gpio_default(void)            												
{
    gpio_config_t ptr_config;
    rcc_ahb_periph_clock_enable_ctrl(RCC_AHBPeriph_GPIOA, ENABLE);  
    rcc_ahb_periph_clock_enable_ctrl(RCC_AHBPeriph_GPIOB, ENABLE); 
    ptr_config.mode = GPIO_MODE_IN;
    ptr_config.pin = GPIO_PIN_0;
    ptr_config.pull = GPIO_PULL_NO_PULL;
    gpio_init(GPIO_GROUP_A,&ptr_config);
    ptr_config.mode = GPIO_MODE_OUT_PP;
    ptr_config.pin = GPIO_PIN_4;
    ptr_config.pull = GPIO_PULL_UP;
    gpio_init(GPIO_GROUP_B,&ptr_config);	
}

void usart_initiate(void)
{
    usart_config_t r_usart_config;    
    rcc_apb_periph_clock_enable_ctrl(RCC_APBPeriph_USART,ENABLE);   
	r_usart_config.usart_rate = 38400;	
	r_usart_config.data_width = USART_DATA_WIDTH_8;	
	r_usart_config.usart_parity = DISABLE;
	r_usart_config.stop_bits = USART_STOP_BIT_1;	
    r_usart_config.usart_mode = USART_MODE_RX|USART_MODE_TX;
    usart_init(&r_usart_config);	
	gpio_mf_config(GPIO_GROUP_B,GPIO_PIN_NUM5,GPIO_MUX_FUNC_4);    
    usart_direction_enable_ctrl(USART_MODE_TX,ENABLE);
    usart_enable_ctrl(ENABLE);
}

这个代码是初始化了PA0和PB4,读取PB4的高低电平,输出到PA0显示。功能显示正常。

 

 

 

 

 

 

 

 

 

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表