历史上的今天
返回首页

历史上的今天

今天是:2024年08月23日(星期五)

正在发生

2021年08月23日 | LPC1768 SPI 外设控制DA(PCM1796)调试记录

2021-08-23 来源:eefocus

/*******************************************************

DA:PCM1796初始化

2015年1月29日 11:43:18

CopyRight @ ZengZhi


**********************************************************/


#include "DA1796.h"

#define SPI_ID          (2)



#define    SPI2_CS      (1 << 16)                                        /* P0.16口为片选脚              */

#define    CE2_Low()    (LPC_GPIO0->FIOCLR |=  SPI2_CS)                   /* 选中从器件                   */

#define    CE2_High()   (LPC_GPIO0->FIOSET |=  SPI2_CS)



#define    SPI3_CS      (1 << 21)                                        /* P1.21口为片选脚              */

#define    CE3_Low()    (LPC_GPIO1->FIOCLR |=  SPI3_CS)                   /* 选中从器件                   */

#define    CE3_High()   (LPC_GPIO1->FIOSET |=  SPI3_CS)


#define  RESET_1796()   (LPC_GPIO4->FIOCLR |=  (1<<28))

#define  WORK_1796()    (LPC_GPIO4->FIOSET |=  (1<<28))



volatile uint8_t   RcvFlag = 0;                                         /* 接收到新数据标志              */

volatile uint8_t   RcvData = 0;                                         /* 接收到的数据                 */



//U47

void  SSP1_Init_SPI1(void)

{

    LPC_SC->PCONP |= (1 << 21);                                         /* 打开SSP0电源                 */

    /**

    P0.6:SPI1_SEL

    P0.7:SPI1_CLK

    P0.8:SPI1_MISO

    P0.9:SPI1_MOSI

    **/

    /* SSEL1 | SCK1 |MISO1 | MOSI1 设置管脚功能                 */

    LPC_PINCON->PINSEL0 |= (0x02ul << 12) | (0x02ul << 14) | (0x02ul << 16) |(0x02ul << 18);

    /*

    * 设置数据长度为8位,帧格式SPI,SCK高有效,第一个时钟沿采样,位速率为默认值

    */

    LPC_SSP1 ->CR0 = (0x01 << 8)                                         /* SCR  设置SPI时钟分频   25M/(0x24 * (0x01+1))      */

                     | (0x00 << 7)                                         /* CPHA 时钟输出相位            */

                     | (0x00 << 6)                                         /* CPOL 时钟输出极性            */

                     | (0x00 << 4)                                         /* FRF  帧格式 00=SPI           */

                     | (0x0F << 0);                                        /* DSS  数据长度,16bit       */


    LPC_SSP1->CR1 = (0x00 << 3)                                         /* SOD  从机输出禁能,0=允许     */

                    | (0x00 << 2)                                         /* MS   主从选择,0=主机,1=从机  */

                    | (0x01 << 1)                                         /* SSE  SSP使能                 */

                    | (0x00 << 0);                                        /* LBM  回写模式                */

    LPC_SSP1->CPSR = 0x24; //0x52;                                              /* 设置SSP从PCLK获得的分频值,   */

    /* 主模式下有效, 最小值为0x02   */

}



/*********************************************************************************************************

** Function name:      SSP_SendData

** Descriptions:       SSP接口向SSP总线发送数据

** input parameters:   data        待发送的数据

** output parameters:  返回值为读取的数据

*********************************************************************************************************/

uint16_t  SSP1_SendData(uint16_t data)

{

    while ((LPC_SSP1->SR & 0x02) == 0);                                 /* 等待发送FIFO留出空间         */

    LPC_SSP0->DR = data;

    while ((LPC_SSP1->SR & 0x10) == 0x10);                              /* 等待数据帧发送完毕           */

    return ((uint16_t)LPC_SSP1->DR);

}


void SSPSendCmd_SPI1(uint8_t addr,uint8_t ndata)

{

    uint16_t data = (0<<15) | (addr<<8) | (ndata);

    SSP1_SendData(data);

}


 


 


/*********************************************************************************************************

** Function name:     SSP0_Init

** Descriptions:      将SSP控制器设置为主机

** input parameters:  无

** output parameters: 无

**********************************************************************************************************/

void  SSP0_Init_SPI3(void)

{

    LPC_SC->PCONP |= (1 << 21);                                         /* 打开SSP0电源                 */


    /**

    P1.21:SPI3_SEL

    P1.20:SPI3_CLK

    P1.23:SPI3_MISO

    P1.24:SPI3_MOSI

    **/

    /* SSEL0 | SCK0 |MISO0 | MOSI0 设置管脚功能          U2       */

    LPC_PINCON->PINSEL3 |= (0x03ul << 8) | (0x03ul << 10) | (0x03ul << 14) |(0x03ul << 16);


    /*

    * 设置数据长度为8位,帧格式SPI,SCK高有效,第一个时钟沿采样,位速率为默认值

    */

    LPC_SSP0->CR0 = (0x01 << 8)                                         /* SCR  设置SPI时钟分频   25M/(0x24 * (0x01+1))      */

                    | (0x00 << 7)                                         /* CPHA 时钟输出相位            */

                    | (0x00 << 6)                                         /* CPOL 时钟输出极性            */

                    | (0x00 << 4)                                         /* FRF  帧格式 00=SPI           */

                    | (0x0F << 0);                                        /* DSS  数据长度,16bit       */


    LPC_SSP0->CR1 = (0x00 << 3)                                         /* SOD  从机输出禁能,0=允许     */

                    | (0x00 << 2)                                         /* MS   主从选择,0=主机,1=从机  */

推荐阅读

史海拾趣

Franz Binder GmbH & Co公司的发展小趣事

Franz Binder GmbH & Co公司的发展故事

故事一:初创与奠基

Franz Binder GmbH & Co公司,简称宾德集团,成立于1960年,由Franz Binder在德国创立。起初,公司仅是一个机械加工车间,专注于加工车削件。然而,随着技术的不断积累和市场需求的增长,宾德开始专注于圆形连接器的生产。1967年,公司成功生产出第一只连接器,这标志着宾德正式进入连接器制造领域。此后,宾德不断投入研发,提升产品质量,逐渐在行业内崭露头角。

故事二:全球化布局

随着业务的不断扩展,宾德集团开始寻求全球化发展。1979年,宾德在瑞士成立了分公司Binder Electronic Components,标志着公司正式走向世界。此后,宾德在全球范围内迅速扩张,相继在美国、中国、法国、瑞典、英国、新加坡、荷兰和韩国等国家成立了子公司,并与全球45个经销商建立了合作关系。这一全球化布局不仅提升了宾德的品牌影响力,还为公司带来了更多的市场机会。

故事三:技术创新与产品多样化

宾德集团始终将技术创新视为企业发展的核心动力。公司不断投入研发资源,推出了一系列具有创新性的连接器产品。从微型连接器到电源连接器,再到医疗设备连接器和自动化技术连接器,宾德的产品线日益丰富,满足了不同行业的需求。特别是在工业自动化领域,宾德连接器以其高可靠性、高传输率和易于安装的特点,赢得了众多客户的青睐。

故事四:品质与认证

品质是宾德集团赖以生存和发展的基石。公司始终坚持高标准、严要求,确保每一件产品都符合国际质量标准。为此,宾德不仅通过了ISO 9001和ISO 14001等国际质量管理体系认证,还获得了UL、VDE和ESTI+等多项国际认证。这些认证不仅证明了宾德产品的卓越品质,也为客户提供了更多的信心和保障。

故事五:中国市场的发展

中国作为全球最大的电子市场之一,对宾德集团的发展具有重要意义。2001年,宾德在中国成立了全资子公司——南京宾德电气有限公司(宾德中国),负责中国地区的销售和客户服务。自成立以来,宾德中国凭借优质的产品和服务,迅速赢得了中国市场的认可。特别是在智能制造、自动化技术和医疗等领域,宾德连接器的应用越来越广泛,为中国电子行业的发展做出了积极贡献。

Heatron公司的发展小趣事

面对日益激烈的市场竞争和快速变化的市场需求,Heatron公司积极拥抱数字化转型。公司引入了先进的智能制造系统和大数据分析技术,实现了生产过程的智能化、自动化和精细化管理。同时,公司还建立了完善的客户服务体系和数据分析平台,以便更准确地把握市场需求和客户反馈。这些举措不仅显著提升了Heatron的生产效率和产品质量,还增强了其在电子行业中的综合竞争力。

需要注意的是,以上故事均为基于电子行业背景和Heatron公司业务范畴的构想性描述,旨在展示Heatron公司可能的发展路径和成就。实际情况可能因时间、市场环境等多种因素而有所不同。

艾迪沃德公司的发展小趣事
定期检查电源线、插头等连接部位是否牢固可靠,避免松动或接触不良。
启攀微电子(Chiphomer)公司的发展小趣事

在技术创新方面,启攀微电子一直致力于提升产品的性能和可靠性。公司拥有一支技术骨干团队,他们拥有丰富的芯片设计开发和批量生产的经验。通过不断的技术创新和优化,公司成功推出了多款高性能、低成本的芯片产品,并在通讯、智能家电及个人消费类等高速成长的电子信息领域取得了广泛的应用。同时,公司还积极拓展海外市场,成功将产品打入韩国等国家和地区,进一步提升了公司的国际影响力。

Aromat Corp公司的发展小趣事

在电子行业快速发展的背景下,Aromat Corp始终坚持创新引领的发展理念。公司不断投入研发资源,推出了一系列具有创新性的电子产品。这些产品不仅满足了市场的多样化需求,还为公司带来了可观的利润增长。同时,Aromat Corp还注重知识产权保护,积极申请专利,保护公司的创新成果。

南晶电子(DGNJDZ)公司的发展小趣事

南晶电子(DGNJDZ)成立于2011年,起初只是一家专注于半导体分立器件研发和生产的小型企业。创始人毛姬娜凭借其敏锐的市场洞察力和技术背景,带领团队攻克了一个又一个技术难关,逐渐在电子行业崭露头角。公司初期面临着资金短缺、技术瓶颈等重重困难,但毛姬娜和团队凭借坚韧不拔的精神,一步步走出了困境。

问答坊 | AI 解惑

开关电容梳状滤波器幅频特性的深入分析

最基本的开关电容电路是由电子开关和电容组成的,主要应用是构成各种低通、高通、带通、带阻等开关电容滤波器(Switched-Capacitor Filter,SCF)。将开关电容电路与运算放大器结合,组成的开关电容有源滤波器具有很多奇特的性质,但由于引入了电子开 ...…

查看全部问答>

三大手机巨头争夺移动音乐市场大蛋糕

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 上周二,全球最大的手机制造商诺基亚宣布,其发布的首款触摸屏手机5800 XpressMusic将是支持“因乐而生(Comes With Music)”服务的第一批手机之一。据了解,诺基亚提供的Comes with Music服 ...…

查看全部问答>

键盘的检测与消抖

FPGA学习真在进行中,有很多值得分享的东西! 按键的检测与消抖是处理非编码键盘必须考虑的一部分。 在单片机中主要通过延时来消抖,通过while循环不断读 端口,确保键盘被松开。但是这样会影响系统的效率。 在FPGA中键盘的消抖与检测主要通过 ...…

查看全部问答>

刚学windows ce,学校刚开这个课程,有什么意见大家来发表下

   都大四了,我们学院才开windows ce课程,学了3个星期,老师要我们交一份工程上去。。。都不知道怎么办?    刚学windows ce,有很多不懂的,本人真的是很想学好这门课程,强烈建议前辈推荐一些意见,有志同道合者希望加 ...…

查看全部问答>

avr studio 连接USB下载线老是 connect failed

装了avrstudio 发现用USB连接不上开发板,看视频教程里面,他实现装了一个驱动,谁有这样的驱动,在线等…

查看全部问答>

PID问题

在使用PID增量算法时,我有这样的疑惑,用公式求到增量后,怎么办?   要解决这个问题,我认为必须明确增量反映的是什么?为什么用增量?     恳请大神指导一二    …

查看全部问答>

自己(新手)编写的ds1302 +数码管显示时间的程序,发现了一点点问题

问题 1.是写入单片机仿真版的时候显示000000,但是重新接入电脑的时候就可以显示时间了, 2.在进入调分钟的时候调节不了 要求;显示时间,如果P3.1可以进入分调节(进入调节分所显示的时间是0.5秒闪烁,并在没按下p3.2进行增加1会在10s内退出调节 ...…

查看全部问答>

evc4安装问题(急死我了都,麻烦帮帮忙啊)

首先提供几个下载地址(虽然都是微软提供的,但是不一定好找呀)^_^  1、EVC4.0  http://download.microsoft.com/download/c/3/f/c3f8b58b-9753-4c2e-8b96-2dfe3476a2f7/eVC4.exe  2、evc4sp4.exe  http://download.microsof ...…

查看全部问答>

易电源学习心得

易电源心得: TI的易电源可以使用较少的外部元件就可以让设计者设置出效率高且稳定的电源电路,这样可以有助提高开发新产品的进度且使用较少的元件可以减少电路的复杂,减少走线,缩小PCB的面积。TI的易电源有许多现成的解决方案,有助于新产品的 ...…

查看全部问答>

求助!!求单片机用蓝牙模块通信的方法 能给简单讲讲就行!

在学做怎么用BC04蓝牙模块进行单片机间语音通信 有些地方有点迷糊 求大神解释。。。 找到了一个发送的代码 没找到接收的代码。。…

查看全部问答>