【嵌入式系统实践】实验四综合实验部分代码

由于综合实验未给出一个固定的思路或者目标,这里仅写出部分内容,以便于期末复习背诵手写代码用。

 自己写的func.h和func.c涵盖了期末所考手写代码部分,背诵过来就挂不了科

// functions.h
#ifndef FUNCTIONS_H
#define FUNCTIONS_Hextern int choice;extern int hour, minute, second;
void USART_Config(void);
void GPIO_SETTING(void);		//LED Setting
void NVIC_config(void);
void TIM3_config(void);
void NVIC_Conf(void);
void KEY_Conf(void);				//pc5 key0
void EXTI_conf(void);
void Set485Direction(void);#endif
#include "func.h"
#include "STM32F10X.h"int choice = 0;void USART_Config(void)
{GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef  USART_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;    	//PA9,TXGPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;  	//PA10,RXGPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA, &GPIO_InitStructure);USART_InitStructure.USART_BaudRate = 9600;  USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;           USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;    USART_Cmd(USART1, ENABLE);     USART_Init(USART1, &USART_InitStructure);  
}void GPIO_SETTING(void)		//LED Setting
{GPIO_InitTypeDef gpio_init;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);gpio_init.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;gpio_init.GPIO_Mode = GPIO_Mode_Out_PP; gpio_init.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB,&gpio_init);
}void NVIC_config(void){NVIC_InitTypeDef NvicInit;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);NvicInit.NVIC_IRQChannel = TIM3_IRQn;NvicInit.NVIC_IRQChannelPreemptionPriority = 0;NvicInit.NVIC_IRQChannelSubPriority = 0;NvicInit.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NvicInit);
}void TIM3_config(void){TIM_TimeBaseInitTypeDef TIM_Time_Struct;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);TIM_Time_Struct.TIM_Prescaler = 7199;TIM_Time_Struct.TIM_Period = 9999;TIM_Time_Struct.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIM3, &TIM_Time_Struct);TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);TIM_Cmd(TIM3, ENABLE);
}void KEY_Conf(void){			//pc5 key0GPIO_InitTypeDef key;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);key.GPIO_Pin = GPIO_Pin_5;key.GPIO_Mode = GPIO_Mode_IPU;GPIO_Init(GPIOC, &key);GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource5);
}void EXTI_conf(void){EXTI_InitTypeDef exti;exti.EXTI_Line = EXTI_Line5;exti.EXTI_Mode = EXTI_Mode_Interrupt;exti.EXTI_Trigger = EXTI_Trigger_Falling;EXTI_Init(&exti);
}void Set485Direction(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_SetBits(GPIOA, GPIO_Pin_1); }

其余内容可自己DIY,这里不再给出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/852269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

D 25章 进程的终止

D 25章 进程的终止 440 25.1 进程的终止:_exit()和exit() 440 1. _exit(int status), status 定义了终止状态,父进程可调用 wait 获取。仅低8位可用, 调用 _exit() 总是成功的。 2.程序一般不会调用 _exit(), 而是…

C++:调整数组顺序使奇数位于偶数前面【面试】

在C&#xff0c;如果要调整数组顺序使所有奇数位于偶数前面&#xff0c;这里提供一种简单且常用的方法&#xff1a;双指针技术。这种方法不需要额外的空间&#xff0c;并且时间复杂度为O(n)。 以下是使用双指针技术实现的示例代码&#xff1a; #include <iostream> #in…

Release和Debug的区别?Release有什么好处?【面试】

Release和Debug的区别&#xff1a; 优化&#xff1a;Debug版本通常不进行优化&#xff0c;以便更容易调试&#xff1b;Release版本则经过高度优化&#xff0c;以提高性能。调试信息&#xff1a;Debug版本包含详尽的调试信息&#xff0c;如符号信息和源代码映射&#xff1b;Rel…

对iOS开发中的链接器ld64和-ld_classic的深入理解

哈喽&#xff0c;大家好&#xff0c;随着iOS应用程序的开发日益增多&#xff0c;开发者们经常会在Xcode中遇到一些特定的编译器和链接器选项。其中&#xff0c;ld64和-ld_classic是两个常见的概念。这一期将深入介绍这两个概念&#xff0c;以帮助iOS开发者更好地理解它们的作用…

什么是全局对象和全局变量

在JavaScript中&#xff0c;全局对象和全局变量是两个重要的概念&#xff0c;它们与代码的执行环境和作用域紧密相关。 全局对象 全局对象&#xff08;Global Object&#xff09;是在代码的任何地方都能访问到的对象。在浏览器环境中&#xff0c;全局对象通常是window对象&am…

公司面试题总结(五)

25.谈一谈箭头函数与普通函数的区别&#xff0c;箭头函数主要解决什么问题&#xff1f; 箭头函数与普通函数的区别&#xff1a; ⚫ 语法简洁性&#xff1a; ◼ 箭头函数使用>符号定义&#xff0c;省略了 function 关键字&#xff0c;使得语法更为紧凑。 ◼ 对于单行函…

【Linux系统编程】进程间通信

进程间通信 1.概念 进程间通信&#xff08;IPC&#xff0c;InterProcess Communication)是指在不同进程之间传播或交换信息。 优点&#xff1a; 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程资源共享&#xff1a;多个进程之间共享同样的资源。通知事件&…

机器学习笔记 - 用于3D数据分类、分割的Point Net简述

一、简述 在本文中,我们将了解Point Net,目前,处理图像数据的方法有很多。从传统的计算机视觉方法到使用卷积神经网络到Transformer方法,几乎任何 2D 图像应用都会有某种现有的方法。然而,当涉及到 3D 数据时,现成的工具和方法并不那么丰富。3D 空间中一个工具就是Point …

《转载》前苏联的三进制计算机Setun

1、苏联的三进制计算机概述 早在 1956 年&#xff0c;就需要创建一种可在大学和实验室中使用的实用数字计算机模型。为此&#xff0c;需要一种易于学习、可靠、廉价但同时高效、专为大规模使用而设计的小型计算机。 对这种机器的要求&#xff1a;运行速度必须等于每秒数百次操作…

ARM_CCI500_execution_tb

目的&#xff1a;工作记录一下对CCI500 local验证case的波形理解&#xff0c;梳理一下ACE接口的逻辑流程。 CCI简单描述功能&#xff1a;基于目录的做缓存一致性功能的模块&#xff0c;支持4个ACE、6个ACE_LITE(ACE和ACE_LITE加起来不超过7个)、4个memory port、2个system por…

力扣hot100: 48. 旋转图像

LeetCode&#xff1a;48. 旋转图像 受到力扣hot100&#xff1a;54. 螺旋矩阵的启发&#xff0c;我们可以对旋转图像按层旋转&#xff0c;我们只需要记录四个顶点&#xff0c;并且本题是一个方阵&#xff0c;四个顶点就能完成图像的旋转操作。 1、逐层旋转 注意到&#xff0…

Stable Diffusion 如何写出更优雅的 Prompt

在看了前面的课程后&#xff0c; 相信很多人都会有一个困惑&#xff0c;这个 prompt 咋写… 为什么我写的时候只能憋出来了一个 a girl, a boy, beautify … 再也想不到其他的了&#xff0c; 总感觉是吃了没文化的亏&#xff1f; 这一节课我们就来讲一讲 如何写好 prompt …

Personalized Subgraph Federated Learning,FED-PUB,2023,ICML 2023,代码

论文阅读在这篇文章 data文件夹 图划分算法&#xff0c;没有采用Louvain算法&#xff08;Blondel et al.&#xff0c; 2008&#xff09;&#xff0c;在Zhang et al. (2021),使用到。而是使用的METIS graph partitioning algorithm(Karypis,1997) disjoint.py parser.py pa…

个股场外期权个人如何参与买卖?

个股场外期权作为一种金融衍生品&#xff0c;为个人投资者提供了多样化的投资选择和风险管理工具。想要参与个股场外期权的买卖&#xff0c;以下是一些关键步骤和考虑因素。 文章来源/&#xff1a;财智盈动 第一步&#xff1a;选择合适的金融机构 首先&#xff0c;个人投资者需…

vue/react/js 常用的原生获取当前页面的url网址的相关方法

目录 第一章 场景 第二章 总结 第一章 场景 最近实现需求时遇到这么一种情况&#xff1a; 本地url —— 线上url —— 需求&#xff1a;需要将token清除掉 注意事项&#xff1a;token不是#/后面的参数&#xff0c;说明并不是我们前端返回的&#xff0c;vue路由的方法使用不…

悦库企业网盘 /user/login/.html SQL注入漏洞复现

0x01 产品简介 悦库企业网盘是一款专为满足企业文件管理、协同办公、文件共享需求而设计的私有部署安全、简单的企业文件管理系统。该产品全面覆盖企业文件管理场景,提供一系列功能强大且操作简便的解决方案,助力企业提升效率、降低管理成本。悦库企业网盘提供精细的权限管理…

小程序无法调用服务端问题排查

1、问题描述 突然有一天线上的小程序不能登录&#xff0c;经查小程序无法调用。经查无法小程序页面无法调用后台服务。 2、排查过程 由于无法登录小程序发布服务器&#xff0c;无法测试小程序前端服务器到服务端网络&#xff0c;并且小程序无法看到日志。所以就得从服务端和网…

工厂环境中ESD防静电系统对静电灾害的预防与控制

静电在工厂环境中可能造成严重的危害&#xff0c;包括火灾、爆炸和设备损坏等。因此&#xff0c;对于工厂环境中的静电灾害&#xff0c;采取预防和控制措施是非常必要的。ESD防静电系统是一种用来预防和控制静电灾害的重要解决方案&#xff0c;它可以有效地降低静电危害发生的可…

jfif格式怎么转换成jpg?关于将jfif转成jpg的几种方法

jfif格式怎么转换成jpg&#xff1f;JFIF格式是一种常见的图像文件格式&#xff0c;通常用于存储数字照片。然而&#xff0c;在某些情况下&#xff0c;你可能需要将JFIF格式转换为JPG格式。JPG格式是一种广泛使用的图像格式&#xff0c;它被支持和接受的程度比JFIF更高。PNG是一…

在Lua解释器中注册自定义函数库

本文目录 1、引言2、注册原理3、实例4、程序验证 文章对应视频教程&#xff1a; 暂无&#xff0c;可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在现代软件开发中&#xff0c;Lua因其轻量级、高效和可嵌入性而被广泛使用。作为一种灵活的脚本语言…