嵌入式导论

什么是嵌入式系统:

嵌入式系统是隐藏才某个产品中而非计算机中的任何计算机系统。

开发嵌入式系统的困难:

1. 吞吐量  系统可能需要在短时间内处理大量的数据
2. 响应    系统可能需要对事件作出快速回应
3. 易测性 嵌入式系统软件在测试装置搭建起来会很困难
4. 可调试性  在没有键盘,显示器的条件下,查出软件的错误(而非仅仅查出不工作的问题)是个棘手的问题
5. 可靠性  嵌入式系统要有能力在无人干涉的条件下处理任何情况
6. 内存空间 嵌入式的内存非常有限,必须程序和数据适应任何一种内存
7. 程序安装 在嵌入式系统上安装软件需要特殊的工具
8. 能耗     有些嵌入式设备必须在电池电源上运行,这些系统上的软硬件必须节能
9. 系统过载 占用大量CPU时间的计算会使响应问题复杂化
10. 成本     降低成本是许多嵌入式系统设计所关注的焦点,软件常常运作在仅仅刚能满足任务需求的硬件上.

嵌入式系统的硬件环境:

嵌入式系统有什么:

1.一个能力有限的CPU,可能是8位,16位,32位,可能有MMU,也可能没有MMU,扩展内存从几十K到几十M,也可能到几个G.
2.两种内存.一种特殊内存,在系统断电后也可以保存内容,用于保存数据,另一种内存是普通内存,用于存放数据.
3.标准串口,网口及系统所需的传感器等等.

嵌入式系统可能没有的东西:

1.键盘
2.显示屏
3.磁盘驱动器
4.光盘,扬声器,麦克风,....


嵌入式软件工程师的技能要求:

1.理解嵌入式系统原理图
2.编写出系统程序
3.须利地和硬件工程师交流 
### 嵌入式导论 实验三 USART 串口通信 #### 实验目的 通过本实验,学生应掌握如何配置和使用STM32微控制器中的USART模块实现基本的数据传输功能。这包括初始化USART外设、设置波特率、数据位数、停止位以及校验模式等内容。 #### 方案设计概述 在嵌入式系统开发过程中,USART(Universal Synchronous Asynchronous Receiver Transmitter)是一种常用的串行通信接口标准[^2]。它允许设备间交换信息,并支持多种工作模式与参数设定。对于本次实验而言,主要涉及以下几个方面: - **硬件连接**: 确保目标板上的TXD/RXD引脚正确接线至PC或其他测试装置上。 - **软件编程**: - 初始化GPIO端口用于UART信号输出输入; - 设置中断优先级以便处理收发事件[^4]; - 调整时钟源及时钟分频因子来满足指定的波特率需求[^5]. 以下是基于上述要点的一个简单代码框架示例: ```c #include "stm32f1xx_hal.h" void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_USART1_UART_Init(void); int main(void){ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART1_UART_Init(); uint8_t dataToSend[] = "Hello World\r\n"; HAL_UART_Transmit(&huart1, (uint8_t*)dataToSend, sizeof(dataToSend)-1 ,HAL_MAX_DELAY); while (1){} } // GPIO Initialization Function static void MX_GPIO_Init(){ __HAL_RCC_GPIOA_CLK_ENABLE(); // Enable clock access to Port A GPIO_InitTypeDef GPIO_InitStruct; /*Configure TX Pin */ GPIO_InitStruct.Pin = GPIO_PIN_9; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL ; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOA,&GPIO_InitStruct); /* Configure RX Pin*/ GPIO_InitStruct.Pin = GPIO_PIN_10; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(GPIOA,&GPIO_InitStruct); } /* UART Configuration function */ static void MX_USART1_UART_Init(){ huart1.Instance = USART1; huart1.Init.BaudRate = 9600; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.Mode = UART_MODE_TX_RX; HAL_UART_Init(&huart1); } ``` 此段程序展示了怎样利用STM32CubeMX工具生成的基础项目模板来进行进一步定制化修改以适应实际应用场景的需求[^1]. #### 数据通信特性分析 根据不同的应用场合可以选择适合的数据传送形式即单工、半双工或者全双工操作模式[^3]. 此外还需注意同步 vs 异步两种不同类型的通讯机制区别所在. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值