历史上的今天
返回首页

历史上的今天

今天是:2025年03月24日(星期一)

正在发生

2020年03月24日 | MSP430 SPI硬件接口

2020-03-24 来源:eefocus

所使用的为MSP430F5438,比较老的一款单片机了。不过它的串口还是比较多,所以本人还是比较喜欢。


在使用SPI硬件接口的时候,初始化程序代码:


void halCom3Init(void)

{  

  unsigned char Data[3];

  P3SEL |= (BIT0+BIT4+BIT5);

  P3DIR |= BIT3;

  UCA0CTL1 |= UCSWRST;                      // **Put state machine in reset**

  UCA0CTL0 |= UCMST+UCSYNC+UCCKPH+UCCKPL+UCMSB;    // 3-pin, 8-bit SPI master+UCCKPL

                                            // Clock polarity high, MSB

  UCA0CTL1 |= UCSSEL_2;                     // SMCLK

  UCA0BR0 = 0x04;                           // /2

  UCA0BR1 = 0;                              //

  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**

//  UCA0IE |= UCRXIE;                         // Enable USCI_B0 RX interrupt

  

}


通常时序由UCCKPH和UCCKPL来控制,具体可参看USER'S GUIDE。实际调试的时候,CLK下降沿或上升沿和DATA的转变时间几乎重合,导致硬件SPI接口不好使。


改用软件模拟SPI接口后,感觉很稳定。具体时序可参照所通信的器件的时序图来调整。


//****************************************模拟SPI实现DAC8734基本写操作

void DAC8734_Write(UCHAR txdata)

{

      UCHAR i;

      SETCLK;

      for(i=0;i<8;i++)

      { 

        SETCLK;

        if(0x80&txdata)

            SETSDI;

        else CLRSDI;

        _NOP();

        CLRCLK;

        txdata<<=1;

      }

      SETCLK;

}

//****************************************模拟SPI实现写8734命令字

void  DAC8734WriteReg(UCHAR* Dat)

{

        CLRCS; 

        _NOP();                 

        DAC8734_Write(Dat[0]); 

        DAC8734_Write(Dat[1]); 

        DAC8734_Write(Dat[2]);

        SETCS;  

        _NOP();                

}

推荐阅读

史海拾趣

ebm-papst公司的发展小趣事

为了更好地服务中国市场,ebm-papst在中国不断推进本地化生产。公司在上海和西安设立了研发中心和生产基地,配备了与德国同样先进的实验设备。这些本地化生产和研发设施使得ebm-papst能够更快地响应中国市场的需求,提供更符合当地市场特点的产品和解决方案。同时,本地化生产也降低了公司的生产成本,提高了产品的竞争力。

Calex Mfg Co Inc公司的发展小趣事

在国内市场取得一定成绩后,Calex Mfg. Co., Inc.开始积极拓展海外市场。公司制定了全球化战略,通过参加国际展会、建立海外销售网络等方式,不断开拓国际市场。同时,公司还根据不同地区的市场需求,推出定制化的产品和服务,进一步提升了其在国际市场中的竞争力。

Continental Industries公司的发展小趣事

在电子行业的发展过程中,Continental Industries注重与其他企业的合作与共赢。公司与多家知名企业建立了长期稳定的合作关系,共同开展技术研发和产品创新。通过资源共享和优势互补,双方实现了互利共赢,共同推动了电子行业的进步。

FWBELL公司的发展小趣事
在电池温度允许的范围内,以较大的电流进行快速充电,缩短充电时间。
AVG [AVG Semiconductors(HITEK)]公司的发展小趣事

AVG Semiconductors自创立之初,就始终坚持以技术创新为核心竞争力。公司不断投入研发资源,推出了一系列具有划时代意义的半导体产品。其中,AVG的某款高效能低功耗芯片在市场上引起了广泛关注,其独特的节能设计和卓越的性能使得AVG在激烈的市场竞争中脱颖而出。这款芯片的成功不仅提升了AVG的品牌形象,也为公司带来了可观的收益,进一步推动了公司的研发创新步伐。

Gespac Inc公司的发展小趣事

随着全球对可持续发展的关注度不断提高,AVG也积极响应这一趋势,将可持续发展理念融入公司的战略和运营中。公司注重环保和节能减排,采用环保材料和生产工艺,减少对环境的影响;同时,AVG还积极参与社会公益事业,为社会做出贡献。这些举措不仅提升了AVG的社会形象,也为公司的长远发展奠定了坚实的基础。

这些故事只是AVG Semiconductors(HITEK)在电子行业发展中众多精彩瞬间的一部分。通过技术创新、市场扩张、合作伙伴关系的建立以及应对挑战和危机的能力,AVG不断壮大自身实力,为电子行业的发展做出了重要贡献。未来,AVG将继续秉持创新精神和社会责任感,在电子行业中书写更加辉煌的篇章。

问答坊 | AI 解惑

嵌入式系统的基本知识

入门知识,为深入学习打下扎实的基础!…

查看全部问答>

《数字信号处理(全美经典学习指导系列)》

简介: 内容简介:   本书主要介绍数字信号处理的基础理论,并给出300多道解答步骤完整的习题。因而,本书是相关教材的有益补充,是自学有效问题求解方法的理想读物。   全书共9章,涵盖了数字信号处理导论教程的核心内容,包括数字信号处 ...…

查看全部问答>

急求μCOS-Ⅱ开发的软硬件开发环境

    小弟初学嵌入式,最近想在一个RTOS上开发一个小的系统,初步考虑是最简单的μCOS-Ⅱ,但是由于苦于无人指导,甚至都不知道其模拟软件开发环境及其对硬件环境的要求,在网上查了一下,好像说用Borland C 4.5可以,但是好像那是一个C语言的编 ...…

查看全部问答>

我的情况离找工作还多远?并且需要从哪方面努力?

         我是嵌入式系统专业的大学生,大学混了2年半,时间很快,今年6月份就要毕业了,我的大学生活每天基本都在寝室渡过的,因为有宽带,网速也过得去,玩魔兽世界,梦幻,玩dota,cs,war3,劲舞团,一个星期也 ...…

查看全部问答>

请教串口程序问题

请教串口程序问题 代码如下: #include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar flag,i;uchar a[4];uchar code table[]=\"I get \" ;void main(){ TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; ...…

查看全部问答>

依旧是I2C的问题

上次烧了块EK的板子.这次换了块新的,该慎重了. 在这里向大虾们确认个问题.我的从设备,在没有跟我主机连接前,上电后,SDA和SCL的电压全是3.0V左右.我查遍了从设备的datasheet,没有找到对高低电平的值的定义,只是有一个关于I2C的通信中高低 ...…

查看全部问答>

【原创】这个错误怎么解决了?

调试出现:chosen derivative (msp430f133) and actual hardware(device unknown) do not match. 大致的意思是说:选择的器件型号和实际硬件不匹配。 可是在IAR的环境里我选择的是MSP430F133,本人目标系统用的片子也是msp430f133。 用的仿真器 ...…

查看全部问答>

LM3S6911-IQC50-A2最新到货了

LM3S6911最近一直很缺货的 因为原厂晶圆供应不足 从而导致的缺货 我们公司同样用LM3S6911做了一个uart转以太网接口的产品 当时也是急疯了 因为我们一直有做TI的电子元器件贸易 跟原厂有联系 所以方案就一直没有更换 现在好了, 货终于到了 ...…

查看全部问答>

[嵌入式求职]成都参加嵌入式培训后的求收购

如题,本人参加了成都的某机构嵌入式培训,现在就业困难啊。请大家支招。 本人在学校期间在电子实验室呆了3年,做过大量的单片机项目,会上位机开发。linux相关知识在培训期间习得。…

查看全部问答>