历史上的今天
返回首页

历史上的今天

今天是:2025年01月14日(星期二)

正在发生

2019年01月14日 | stm32f1xx串口控制灯开关实验

2019-01-14 来源:eefocus

工程文件使用cubemx建立,因此程序是基于HAL库开发,设置如图所示


查看原理图可以知道PA10和PA9是复用IO口,这里用来做串口的RX与TX端,在左侧的栏目中就可以设置,将状态从RESET改成第二个A字开头的即可



在configuration中,记得使能中断,具体操作如下,点击NVIC_Settings选项卡,在Enabled上打勾即可,然后生成代码



在代码的int main(void)下,添加如下代码:


flag是用来控制状态的变量,HAL_UART_Receive_IT()与HAL_UART_Transmit_IT()是两个成对的库函数,它们的特点是会产生一个中断,直到完成数据的发送或者接收才会顺序执行下面的程序,而HAL_UART_Receive()和HAL_UART_Transimit()则是与HAL_Delay()之类的函数一样,直接顺序执行,但是注意,这个函数的第四项规定了它运行的时间上限,函数的具体参数可以查阅相关手册


int main(void)

{

  /* USER CODE BEGIN 1 */

 

  /* USER CODE END 1 */

 

  /* MCU Configuration----------------------------------------------------------*/

 

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */

  HAL_Init();

 

  /* USER CODE BEGIN Init */

 

  /* USER CODE END Init */

 

  /* Configure the system clock */

  SystemClock_Config();

 

  /* USER CODE BEGIN SysInit */

 

  /* USER CODE END SysInit */

 

  /* Initialize all configured peripherals */

  MX_GPIO_Init();

  MX_USART1_UART_Init();

  /* USER CODE BEGIN 2 */

 

  /* USER CODE END 2 */

 

  /* Infinite loop */

  /* USER CODE BEGIN WHILE */

  while (1)

  {

uint8_t flag;

HAL_UART_Receive_IT(&huart1,&flag,1);

if(flag == '1')

{

HAL_UART_Transmit(&huart1,"Received 1",10,0xffff);

HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,RESET);

HAL_Delay(1000);

}

else if(flag == '0')

{

HAL_UART_Transmit(&huart1,"Received 0",10,0xffff);

HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,SET);

HAL_Delay(1000);

}

  /* USER CODE END WHILE */

 

  /* USER CODE BEGIN 3 */

 

  }

  /* USER CODE END 3 */

 

}

编译烧录之后就会发现可以利用串口输入的"1"和"0"控制板上led的亮灭了



推荐阅读

史海拾趣

ABOV(现代单片机)公司的发展小趣事

ABOV(现代单片机)是一家韩国的半导体公司,以下是该公司发展的五个相关故事:

  1. 公司成立和初期发展: ABOV公司成立于1997年,总部位于韩国首尔。公司专注于设计、制造和销售嵌入式系统解决方案,主要产品包括微控制器(MCU)和嵌入式闪存等。成立初期,ABOV致力于技术创新和产品研发,建立起一支技术精湛的研发团队。

  2. 技术创新和产品推出: ABOV在技术创新方面投入了大量资源,不断推出新产品和解决方案。公司的现代单片机产品以其高性能、低功耗和丰富的功能而闻名。ABOV还在嵌入式闪存技术方面取得了重大突破,推动了嵌入式系统的发展和普及。

  3. 市场拓展和国际合作: 随着产品技术的不断成熟和市场需求的增长,ABOV积极拓展国际市场,并与全球各地的客户建立了合作关系。公司的现代单片机产品被广泛应用于消费电子、汽车电子、工业控制等领域,赢得了客户的信赖和认可。

  4. 持续投入研发和创新: ABOV持续投入研发,并不断提升产品性能和功能。公司注重与客户的密切合作,根据客户需求进行定制化开发,为客户提供个性化的解决方案。ABOV还与学术机构和合作伙伴合作,共同推动技术创新和产业发展。

  5. 未来展望和发展方向: ABOV将继续致力于技术创新和产品升级,加强在嵌入式系统领域的研发和应用。公司将继续拓展国际市场,加强与客户和合作伙伴的合作,推动现代单片机技术的发展和普及,为全球的电子行业做出更大的贡献。

Curtis Electromusic Specialties Inc公司的发展小趣事

随着全球环保意识的不断提高,电子行业对环保材料的需求也日益增长。CUI公司敏锐地抓住了这一市场机遇,积极投入研发,成功开发出了一种绿色环保型的碘化亚铜生产工艺。这种工艺不仅降低了生产过程中的能耗和排放,而且提高了产品的纯度和质量。通过推广这一工艺,CUI公司不仅赢得了客户的青睐,也为行业的绿色发展做出了积极贡献。

COMPUTAR公司的发展小趣事

COMPUTAR公司的前身是日本CBC株式会社,成立于1925年,总部设立在繁华的东京。自创立之初,CBC便致力于光学技术的研究与应用,为后续的镜头制造奠定了坚实的基础。在随后的几十年里,CBC不断积累技术经验,逐步在光学领域建立起自己的声誉。

Herotek Inc公司的发展小趣事

在全球倡导绿色低碳的背景下,Henkel也积极投身于绿色材料的研发和应用中。在电子行业中,Henkel推出了多款环保型粘合剂产品,这些产品不仅具有优异的性能表现,还符合国际环保标准和法规要求。通过推广绿色材料和技术解决方案,Henkel不仅为电子行业的可持续发展做出了贡献,也进一步巩固了其在该领域的领先地位。

以上五个故事展示了Henkel公司在电子行业中的发展历程和成就。凭借其创新的技术、全面的解决方案以及对可持续发展的承诺,Henkel将继续在电子行业中发挥重要作用。

APTA Group Inc公司的发展小趣事

在电子行业的发展过程中,APTA Group Inc也遭遇了不少挑战。例如,原材料价格的波动、国际贸易环境的变化等都曾给公司带来不小的压力。然而,APTA并未被这些困难击垮,而是积极调整战略,优化生产流程,降低成本,提高产品质量。这种在挑战中展现出的韧性和应变能力,使得APTA能够在逆境中保持稳健的发展态势。

台湾凌通(Generalplus)公司的发展小趣事
确认光敏元件是否损坏或老化,导致无法感知光线变化。可尝试更换新的光敏元件。

问答坊 | AI 解惑

借人气问问如何连接两个GPRS模块?

最近我使用IWOW的TR800来做一个无线数传的项目,我在想移动既然分配给模块的ip是内网ip,那是否意味着两个模块连上GPRS网络之后,他们都是获得同一内网里的ip,就像连接到同一路由器里面的两台机器一样? 另外共享一下我觉得不错的技术QQ群 群5 ...…

查看全部问答>

请问现在做一个LED驱动(大小功率)安规费用

1,请问现在做一个LED驱动(大小功率)安规费用 第一次做个安规完,如果没过,对方提建议,也要收相同费用吗? 有没有过了才收费的; 2,过安规应该包含有电磁兼容项目吧…

查看全部问答>

请问:ATM64中PB4端口第二功能如何开启??

请问: ATM64中的PB4脚的第二功能是如何开启的? 是不是把T/C0控制寄存器TCCR0中的CS02、CS01、CS00位置0就可以了???(TCCR0=0X00) 大家一定要指点一下啊!!!!…

查看全部问答>

小弟新学TMS320LF2407,请教一下加载程序的问题

原来用的6416的片子,现在用的2407,想问下怎么能一上电就让dsp芯片运行我的程序?小弟新手希望各位大侠教的详细点,有资料发我邮箱也可以hljlishen0517@gmail.com   多谢各位了…

查看全部问答>

vxworks下U盘的插拔问题

小弟最近遇到个问题: 在vxworks中包含usb mass storage的相关组件,启动目标板后,插入U盘,读写操作都正确,但是拔掉后,再插入,就报告dosFsDevCreate失败,查看错误号,说是设备已存在,使用 hdr = iosDevFind(\"/usb/bd\", 0); iosDevDelet ...…

查看全部问答>

MS  SmartPhone 2003  SDK Sample GetDeviceID 严重错误

{         BOOL fRes;     DWORD dwBytesRetur…

查看全部问答>

74系列芯片功能大全

74系列芯片功能大全 这里是常用74系列芯片功能大全很有收藏价值   7400 TTL 2输入端四与非门7401 TTL 集电极开路2输入端四与非门7402 TTL 2输入端四或非门7403 TTL 集电极开路2输入端四与非门7404 TTL 六反相器7405 TTL 集电极开路六反相 ...…

查看全部问答>

帮忙看看这个 三相三线制缺相保护电路

这个电路在很多网站都有   对它解释也是相同 “这是一种用于三相三线制电源缺相保护电路,A、B、C缺任何一相,光耦器输出电平低于比较器的反相输入端的基准电压,比较器输出低电平,封锁PWM驱动信号,关闭电源。比较器输入极性稍加变动 ...…

查看全部问答>

TPS5430DDAR芯片过回流焊后无法正常工作,重新焊接上正常工作

如题,TPS5430DDAR芯片经过热风回流焊,峰值温度230℃左右,测试电源无法工作,将两片TPS5430DDAR用烙铁取下,交换下重新焊接上去,电源正常工作,请问这是什么原因??????…

查看全部问答>

mega128上SD卡的FAT文件系统

网上查了好多关于FAT文件系统的资料和库文件,尝试下都没成功。关于FAT文件系统一点头绪都没有啊,有没有做过这方面研究的大大教一下~…

查看全部问答>