历史上的今天
返回首页

历史上的今天

今天是:2025年07月19日(星期六)

2019年07月19日 | 关于STM32 SPI外设太鸡肋,I读TM1628 时查询发送方式好折磨

2019-07-19 来源:eefocus

本人使用STM32F334读写TM1628,也参考了网上一大堆的例子,查询发送数据到TM1628,发现大部分网上的例子都是用的是TXE 标志位  SPI_I2S_FLAG_TXE,要注意此标志位在手册上图片显示的是只要FIFO的数据移动到发发送缓冲器里面之后就会置位所以TXE的置位并不代表所有传输完成只代表可以接着发送数据,而是等到BSY置位后才表明发送结束,对于判断发送单个字节则需要结合BSY来判断,对于多个字节则是要结合TXE和BSY一起来使用是最好的。对于中断发送的话本人暂时还是没有好的方法毕竟BSY不能产生中断。总之感觉太不顺手

波形分析

 

波形分析2

附上个人demo


uint8_t TM1628_WritePro(void)

{

  if(0==TM1628_State)return 0;

  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);

  SetSTB;

  DelayXu(50);

  ClrSTB;

  SPI_SendData8(SPI1,0x00);

  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET);          

  SetSTB;

  DelayXu(50);

  ClrSTB;

  SPI1->DR = 0x44; 

  SPI_SendData8(SPI1,0x44);

  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET);              

  SetSTB;

  DelayXu(50);

  ClrSTB;

  SPI_SendData8(SPI1,0xC0);

  SPI_SendData8(SPI1,TM1628_DATA[0]);

  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET);         

  SetSTB;

  DelayXu(50);

  ClrSTB;

  SPI_SendData8(SPI1,0xC2);

  SPI_SendData8(SPI1,TM1628_DATA[1]);

  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET); 

  SetSTB;

  DelayXu(50);

  ClrSTB;

  SPI_SendData8(SPI1,0xC4);

  DelayXu(20);

  SPI_SendData8(SPI1,TM1628_DATA[2]);

  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET); 

  SetSTB;

  DelayXu(50);

  ClrSTB;

  SPI_SendData8(SPI1,0xC6);

  SPI_SendData8(SPI1,TM1628_DATA[3]);

  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET);              

  SetSTB;

  DelayXu(50);

  ClrSTB;

  SPI_SendData8(SPI1,0x89);

  while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) == SET);              

  SetSTB; 

  TM1628_State = 0 ;

  return 0;

}


推荐阅读

史海拾趣

汇顶科技(GOODiX)公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐系统中的重要组成部分。从广义上讲,任何与电视机连接的网络终端设备均可称为机顶盒,它们能够接收并转换来自不同信号源的数字信号,使之成为适合在电视上播放的格式。从功能上看,机顶盒主要分为数字机顶盒和网络机顶盒两大类。

数字机顶盒主要负责实现数模转换功能,让传统模拟电视机也能观看数字电视节目,包括有线电视、卫星电视和地面广播电视的数字机顶盒。它们通过内置的调谐器接收信号,经解调器和解码器处理后,将数字信号转化为电视可识别的视频和音频流。

而网络机顶盒则进一步扩展了机顶盒的功能,它不仅能接收电视信号,还能接入互联网,提供诸如在线视频、游戏、应用程序下载等多元化服务。网络机顶盒支持高清、甚至超高清视频播放,结合智能技术,还能实现语音控制、智能推荐等便捷功能。此外,网络机顶盒还具备强大的内容分发和管理能力,通过与各大内容提供商合作,为用户提供丰富多样的节目资源。

随着科技的进步,机顶盒的发展趋势将更加注重技术升级、内容创新和用户体验。未来,机顶盒将在家庭娱乐系统中扮演更加重要的角色,为用户带来更为优质、便捷、智能的观影体验。

DUBILIER公司的发展小趣事

DUBILIER公司非常重视人才的培养和发展。公司建立了完善的人才培训体系,为员工提供各种培训和发展机会。通过内部培训和外部引进相结合的方式,DUBILIER公司培养了一支高素质、专业化的技术和管理团队。这些人才不仅为公司的发展提供了强大的支持,还为公司赢得了更多的商业机会和合作伙伴。

艾为(AWINIC)公司的发展小趣事

2015年7月,艾为电子成功挂牌新三板,迈入了资本市场的新征程。上市以来,艾为电子充分利用资本市场的优势,加快了技术研发和市场拓展的步伐。同时,公司还积极寻求与国内外优秀企业的合作机会,通过引入战略投资者和开展资本运作,为公司的未来发展注入了新的动力。

这五个故事从不同角度展现了艾为电子在电子行业中的发展历程和成就,体现了公司不断追求卓越、创新发展的精神风貌。随着科技的不断进步和市场的不断变化,相信艾为电子将继续保持其竞争优势,为电子行业的发展贡献更多力量。

Electech Electronics公司的发展小趣事

随着公司业务的不断发展,Electech Electronics开始实施国际化战略,积极开拓海外市场。公司先后在亚洲、欧洲和北美等地设立了分公司和办事处,与当地的企业和渠道商建立了紧密的合作关系。同时,Electech Electronics还积极参加国际电子产品展会,展示公司的最新产品和技术,吸引更多的海外客户。

Curtis Industries公司的发展小趣事

Curtis Industries公司成立于20世纪初期,当时电子行业正处于起步阶段。创始人凭借对技术的热爱和对市场的敏锐洞察力,决定投身于电子行业。在初创阶段,公司面临了诸多困难,如资金紧张、技术难题等。然而,创始人始终坚信自己的理念,带领团队日夜兼程地研发新产品,不断寻求突破。正是这份坚定与坚持,为公司的发展奠定了坚实的基础。

台湾固锝(GD)公司的发展小趣事
通过合理设计电路布局和元件选择来减少功耗和热量产生。

问答坊 | AI 解惑

国内外高端频率控制器件的技术比较

0 引言 近年来,通信业频率源的大量需求以及军工方面对频率源广泛应用,加之精密导航定位对参考时间的依赖,作为程控交换设备的一级铷原子频标的价格和体积都逐渐接近了高稳定度振荡器。另一方面目前市场用量最大的各种石英晶体谐振器和振荡器的需 ...…

查看全部问答>

一本经典的老外的书,运放理论与设计

Kluwer Academic Publishers - Operational Amplifiers Theory and Design.pdf 一本很不错的书哦,英文版的。…

查看全部问答>

全美经典系列

一本是《电路》 一本是《电路分析》 都是很基本的知识 全美经典系列教材 --来自网络…

查看全部问答>

招聘WinCE嵌入式工程师,硬件工程师

本公司为新成立的公司,有了强大的市场,现缺乏一批有经验和激情的有创业精神的技术人员加盟。  我们将给开发人员极大的自由发挥空间。    深圳市数讯新通通信有限公司“ShuXun XinTong Communication Equipment Co.,Ltd.” ...…

查看全部问答>

我现在做出了usb通信 hid免安装驱动的应用软件,效果很不错!!!

我的c8051f320 usb demo 板采用bulk、中断通信模式,通信速率高达1.5Mb/s(采用vb6编程) http://c8051fmcu.blog.sohu.com…

查看全部问答>

Wince5.0 Platform Builer 系统定制

Wince PB新人,用Wince PB做了OS后生成映像,烧入S3C2440板后Wince5.0系统正常工作,可是当我把resco radio V1.71绿色版拷入执行radio.exe的时候,弹出窗口说\"找不到radio或它的某一个组件....\".请问我需要在PB中加入哪些组件才能让其运行? 这个 ...…

查看全部问答>

如何在桌面显示半透明镂空png图片?

如题。 有一些今日插件,可以在桌面半透明显示png图片,比如htc的圆角矩形图标背景。但是在尝试做出同样的效果来,发现很难实现。 用TransparentBlt函数实现打出圆角矩形图片,但是无法半透明,用AlphaBlend实现了半透明,但是需要镂空的地方仍然 ...…

查看全部问答>

AES加密在嵌入式里边到底给什么加密呢?

在TIStellarisWare里边有两个AES的例程,一直不太明白AES加密在嵌入式里边到底给什么加密呢?大家讨论一下啊。…

查看全部问答>

STM8S是否支持申请动态内存空间

                                 看到库文件中有malloc()函数,但是调用出错,请教STM8S是否支持申请动态内存空间?应该如何调用?…

查看全部问答>