CC254x 串口 UART+DMA 低功耗问题

没办法,公司有一批产品已经做好了, 面对协议问题, 总不能把他们都扔了不要了吧。说起来这还是隔壁实验室的历史遗留问题, 这锅还得交给我们实验室背。。。。

TI官网有串口透传的示例, 下下来改就可以了。http://processors.wiki.ti.com/index.php/SerialBLEbridge

遇到了一个问题,就是开启省电模式后, 在第一次启动以后进入低功耗模式,电流2ma, 之后一旦初始化串口,电流变为8ma~10ma, 再次进入低功耗后电流不降下去。

Continue reading “CC254x 串口 UART+DMA 低功耗问题”

STM32 基于Keil的mbedTLS 的使用—— 包含AES(ECB CFB CBC),BASE64,MD5等

实验室规定的协议使用AES-128-CFB 进行加密, 数据从出设备的那一刻遍进行了加密,因此安全性得到了保证。 但是嵌入式系统中的加密库成了个问题,搜了半天找到了ARM平台上的mbed TLS。

“mbed TLS(以前称为PolarSSL)是TLS和SSL协议的实现,并且需要相应的加密算法和支持代码。这是双重许可Apache许可证 2.0版(与GPLv2许可也可)。网站上指出,mbed TLS的目标是“易于理解,使用,集成和扩展”。”

下面主要说一下Keil 的引用,首先点击 Manage Run-time Environment  选择Security, 然后勾选mbedtls

Continue reading “STM32 基于Keil的mbedTLS 的使用—— 包含AES(ECB CFB CBC),BASE64,MD5等”

STM32F103 Flash 读写实践(2KB 一页的坑)HAL库

我们实验室规定的协议,所有上传的数据要进行AES-128-CFB 加密, 密钥通过量产过程写入。密钥的持久化成了个问题。 单独给这16Byte 的数据加个EEPROM真的是不值当, 所以目光瞄向了512KByte 的Flash。 从网上查了资料发现STM32 的FLASH可以擦除重新编程。其实步骤很简单。可是一个坑让我难受了好多天……………………

Continue reading “STM32F103 Flash 读写实践(2KB 一页的坑)HAL库”

LM358 功放电路

全国大学生电子设计竞赛训练,13年F题,我们准备采用ADC后进行数字量传输, 收到后DAC再次转换为模拟量。 但由于STM32 DAC 驱动能力太弱, 当接上100K电阻的时候Vpp下降0.2v。因此我们想做一个 功放电路,一方面增大输入阻抗,另一方面对信号进行放大。 手头运放只剩下LM358,于是用LM358搭了一个反向比例运算放大电路,效果还不错, 针对 2khz 左右的正弦波放大效果不错,5Khz波形略有变形,但还能用, 10Khz 以上基本变形较为严重。

Continue reading “LM358 功放电路”

STM32学习:EXTI中断输入输出

外部事件的检测,一般通过中断进行输入输出。 STM32内部存在一个强大的 NVIC中断处理器。支持中断嵌套执行。NVIC 通过NVIC_Init()函数进行初始化。对于每个中断,都有抢占优先级和响应优先级。 抢占优先级决定一个中断在服务过程中另一个中断到来,新到来的中断是否打断原中断。响应优先级是决定当两个中断同时到来时, 到底响应哪个中断。

Continue reading “STM32学习:EXTI中断输入输出”

STM32学习:新建Keil工程并点亮跑马灯

《全国大学生电子设计竞赛》马上就要开始了,为了准备比赛,我们开始了STM32的学习。

工欲善其事,必先利其器。  我们使用 Keil uV5 作为开发工具。开发板选用STM32F103最小系统版。

首先使用Keil Pack Installer 安装STM32F1xx 系列。 在左面选择STmicroelectronics 之后选择右边的 STM32F1xx 之后选Install。STM32 的Library 就已经安装好了。你大概需要很好的网,反正在我宿舍没下载成功。。

Continue reading “STM32学习:新建Keil工程并点亮跑马灯”