历史上的今天
返回首页

历史上的今天

今天是:2024年09月01日(星期日)

正在发生

2018年09月01日 | STM32F103程序设计-9-USB转TTL串口(收发)

2018-09-01 来源:eefocus

在上一个例程USB转TTL串口(printf)的基础上进行修改。主要修改了以下几点内容:

1.由于不要使用printf了,所以把PUTCHAR_PROTOTYPE的定义部分去掉。

2.从官网例程中找到串口收发数据的代码,并融合到新定义的串口收、发数据的函数中。

例程中串口发数据的代码(已进行细微改动):

/* Send one byte from USARTy to USARTz */

USART_SendData(USART1, data);


/* Loop until USARTy DR register is empty */

while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)

{

   }

例程中串口收数据的代码(已进行细微改动):

/* Loop until the USARTz Receive Data Register is not empty */

while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET)

{

}

 

/* Store the received byte in RxBuffer */

ReceiveData = (USART_ReceiveData(USART1) & 0x7F);

新定义的串口发数据的函数:

void USART1_Send(uint16_t data)

{

/* Send one byte from USARTy to USARTz */

USART_SendData(USART1, data);


/* Loop until USARTy DR register is empty */

while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)

{

}

}

新定义的串口收数据的函数:

uint8_t USART1_Receive(void)

{

uint8_t ReceiveData;


/* Loop until the USARTz Receive Data Register is not empty */

while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET)

{

}

 

/* Store the received byte in RxBuffer */

ReceiveData = (USART_ReceiveData(USART1) & 0x7F);


return ReceiveData;

}

3.在主函数中先写一条接收数据的函数,接着将收到数据通过串口发回电脑。

SerialBuf = USART1_Receive();

   USART1_Send(SerialBuf);

   Delay(90000);

可以看出:1.本程序使用的是查询的方式,MCU的利用率低,今后还将学习中断的方式进行数据的接收。2.本程序收发的是一个字节的数据,今后还将学习收发一连串的数据。


推荐阅读

史海拾趣

amcc [applied micro circuits corp]公司的发展小趣事

Applied Micro Circuits Corp(AMCC)是一家半导体公司,主要从事高性能处理器和高速互连解决方案的设计和制造。以下是关于AMCC公司发展的五个相关故事:

  1. 公司成立与早期发展:AMCC公司于1979年由Hemant Kanakia等人在美国加利福尼亚州的圣塔克拉拉创立。公司最初专注于设计和制造用于通信和数据中心应用的集成电路芯片。在成立初期,AMCC致力于开发高性能、低功耗的处理器和互连解决方案,以满足不断增长的通信市场需求。

  2. 技术创新与产品发布:AMCC公司在技术创新方面处于行业领先地位。公司持续投入研发,并推出了一系列创新产品。1997年,AMCC发布了第一款64位PowerPC处理器,开创了其在高性能处理器市场的先河。随后,公司不断推出新一代的处理器产品,包括PowerPC、ARM等系列,以满足不同客户的需求。

  3. 业务拓展与市场扩张:随着时间的推移,AMCC不断拓展其业务范围和市场覆盖。公司不仅在通信领域取得了成功,还逐渐进军数据中心、云计算、存储等新兴领域。AMCC通过与各大客户和合作伙伴的紧密合作,扩大了产品的市场份额和影响力。

  4. 收购与整合:AMCC通过一系列收购和整合,加强了自身的技术实力和市场竞争力。公司收购了一些在特定领域具有核心技术的公司,如Tahoe Networks(2004年)、3ware(2005年)、Mindspeed Technologies(2014年)等。这些收购使得AMCC得以快速扩大产品线,并加速了公司在新兴市场的布局。

  5. 英特尔收购:2016年,英特尔公司宣布以约17亿美元的价格收购AMCC。这一交易使得AMCC成为英特尔旗下的子公司,英特尔得以借助AMCC在通信和数据中心领域的技术优势和客户资源,进一步拓展其在半导体行业的地位。此次收购也标志着AMCC作为独立实体的终结,但其在半导体行业的技术贡献和市场影响将持续延续。

这些故事展示了AMCC公司在技术创新、产品发布、业务拓展、收购整合等方面的发展历程,以及其作为半导体行业重要参与者的地位和影响力。

Hittite Microwave(ADI)公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。从广义上讲,任何与电视机连接的网络终端设备均可视为机顶盒,其发展历程涵盖了从模拟频道增补器到数字卫星、地面及有线电视机顶盒的广泛范畴。而从狭义角度看,机顶盒特指那些具备数字处理能力的设备,如IPTV机顶盒、DVB-S卫星机顶盒、DVB-T地面机顶盒及DVB-C有线电视机顶盒等。

机顶盒的核心功能在于接收并转换数字电视信号,使之能在传统或智能电视上播放。它不仅能接收来自有线电缆、卫星天线及宽带网络的信号,还能提供电子节目指南、网页浏览等增值服务。通过机顶盒,用户能够享受到高清乃至4K超高清的电视节目,体验更为细腻的画面和震撼的音效。此外,机顶盒还具备网络交互能力,支持在线购物、观看网络视频、玩游戏等多元化活动,使电视机从单向接收信息的设备转变为智能互动终端。

随着技术的不断进步,机顶盒正朝着高清化、智能化方向发展。未来,机顶盒将不仅限于基本的信号接收与解码功能,还将融入更多智能推荐、语音识别等先进技术,为用户提供更加个性化、便捷的娱乐体验。总之,机顶盒作为连接电视与互联网的桥梁,正以其丰富的功能和广泛的应用场景,不断满足用户日益增长的娱乐需求。

Global Specialties公司的发展小趣事

近年来,创客文化在全球范围内兴起,Global Specialties迅速抓住了这一趋势。公司推出了一系列创客/DIY产品,包括各种模块化的电子元件和工具,旨在帮助创客们实现他们的创意和想法。通过举办线上线下的创客活动,Global Specialties不仅促进了创客之间的交流与合作,还进一步扩大了自己的品牌影响力。

CoolerMaster公司的发展小趣事

Cooler Master一直致力于技术创新,不断推出具有颠覆性的产品。例如,其推出的MasterLiquid 360 Ion高性能散热器,配备了壮观的2.1英寸LCD屏幕,可实现无与伦比的定制显示内容。这一产品不仅展现了Cooler Master在散热技术上的领先地位,更体现了其对于用户体验的深刻洞察。此外,公司还借助Atmos系列迈向可持续散热的未来,为行业的发展注入了新的活力。

CR Magnetics公司的发展小趣事

CR Magnetics深知品质是企业的生命线。因此,公司始终坚持以质量为核心的管理理念,从原材料的采购到产品的生产、检测、包装等每一个环节都严格把控。此外,公司还通过了ISO9001:2008质量管理体系认证,并确保所有产品均符合RoHS等环保要求。这些举措使得CR Magnetics的产品赢得了客户的广泛信赖和好评。

微芯(CMOSIC)公司的发展小趣事

随着全球化的加速发展,微芯生物也积极开展国际合作与交流。他们与国际知名医药企业、科研机构以及高校建立了紧密的合作关系,共同开展新药研发和技术创新。通过国际合作与交流,微芯生物不仅吸收了国际先进的研发理念和技术经验,还为公司的发展带来了更广阔的市场空间和合作机会。

问答坊 | AI 解惑

智能电话报警系统

本帖最后由 paulhyde 于 2014-9-15 09:50 编辑 我的毕业设计题目是\"智能电话报警系统\",现在准备交了,可MT8888自动拨号这部分程序还没调得,有哪位高手可以指点小妹下,万分感谢! 邮箱:dodo716@163.com  …

查看全部问答>

双向汽车防盗器设计(毕业设计系列)

本帖最后由 paulhyde 于 2014-9-15 08:54 编辑  …

查看全部问答>

深度解析与探讨:嵌入式系统的高低温故障的根源

呵呵,ARM7、ARM9 还有PXA3XX 等等嵌入式ARM都存在高低温时容易爆发故障?尤其是主频越高的CPU,越容易爆发高低温故障? 这是为什么? 这是因为我们疏忽了对于整个系统中的很多关键信号的完整性的研究、分析与设计; 我们的硬件、软硬件协调设计 ...…

查看全部问答>

问个小问题

     我买的一块上面有CPLD的开发板,查了附带的光盘资料,没写清每个管脚的作用,以前没用过CPLD ,难道每个管脚都一样,都是通用的吗??难道时钟引脚也随便用吗,每次写完VHDL都不知道该怎么分配管脚,请大家指点一下,只说 ...…

查看全部问答>

MessageBeep()通过蜂鸣器实现问题

我的设备中没有加声卡,只有一个蜂器鸣,写了个蜂鸣器的驱动,WINCE中的函数MessageBeep()如何去实现呢?MessageBeep()都调用了哪些函数和信息?请指点一下,谢谢!…

查看全部问答>

cannot open file 'ceddk.lib'(急寻解决办法)

别人考我一个工程EVC的 在他那可以运行 在我电脑上运行报错如下: LINK : fatal error LNK1104: cannot open file \'ceddk.lib\' 是要将这个库加到工程中吗? 哪位有这个库的发我一个 万分感谢! mickeyhao66@163.com…

查看全部问答>

WINCE问题(得答案后马上结帖)

WinCE中,在主对话框中有一子对话框,在子对话框中我用 CreateWindow(TEXT(\"DISPLAYCLASS\")……) 创建了一个IE控件,请问如何使当我鼠标指针只要一移到IE控件中就弹出一个消息框???…

查看全部问答>

我有技术,他有市场,但其他都不了解,如何合作?

我有技术,他有市场,但其他都不了解,如何合作?关键是公司运作,财务监督等,因为失败了两次,我对世人的诚信不敢恭维。…

查看全部问答>

FPGA+USB通信

我现在需要用ISP1362芯片实现USB通信,但是对上位机程序不是很了解,希望得到帮助,我的QQ是1261446649,加我QQ详谈要求和报酬。感激不尽!…

查看全部问答>

花了2天,SWIM底层接口终于搞定

8mA的sink电流比较变态。。。。。。 STM8S没有Chip_ID比较变态。。。。。。 其他都是浮云。。。。。。 swim.jpg (11.35 KB) 下载次数:32 2009-12-31 15:54 …

查看全部问答>