单片机软件
文章平均质量分 65
单片机开发软件技术
MakerInChina
专注于单片机嵌入式软件、IC设计和上位机应用开发。
展开
-
STM32G0开发笔记-Platformio+libopencm3-EEPROM M24C02使用
使用Platformio平台的libopencm3开发框架来开发STM32G0,以下为EEPROM M24C02的使用方法。原创 2023-01-11 11:09:16 · 602 阅读 · 0 评论 -
STM32G0开发笔记-Platformio+libopencm3-FreeRTOS和FreeModbus库使用
title: STM32G0开发笔记-Platformio+libopencm3-FreeRTOS和FreeModbus库使用[原文:makerinchina.cn]使用Platformio平台的libopencm3开发框架来开发STM32G0,以下为FreeRTOS和FreeModbus库使用。原创 2022-11-16 21:59:30 · 1429 阅读 · 2 评论 -
STM32G0开发笔记-Platformio+libopencm3-SPI接口使用
使用Platformio平台的libopencm3开发框架来开发STM32G0,下面介绍SPI接口的基本使用。原创 2022-10-18 21:13:29 · 557 阅读 · 0 评论 -
STM32G0开发笔记-Platformio+libopencm3-串口中断
【原文】https://makerinchina.cn/article_dfa2d9ee8875.htmltitle: STM32G0开发笔记-Platformio+libopencm3-串口中断使用Platformio平台的libopencm3开发框架来开发STM32G0,以下为串口中断的使用。原创 2022-09-29 18:30:00 · 846 阅读 · 0 评论 -
STM32G0开发笔记-Platformio+libopencm3-按键和外部中断
【原文】https://makerinchina.cn/article_12434df0dc1e.htmltitle: STM32G0开发笔记-Platformio+libopencm3-按键和外部中断使用Platformio平台的libopencm3开发框架来开发STM32G0,下面为GPIO接按键的使用方式。原创 2022-09-29 00:11:05 · 424 阅读 · 0 评论 -
STM32G0开发笔记-Platformio平台下使用libopencm3库
由于使用的STM32G070RB在pio的libopencm3框架中没有这个型号,因此首先需要先定义一个自定义开发板型号;安装ST-STM32 platforms在Platformio的platforms中搜索STM32,然后安装ST-STM32 platforms框架,根据已有的相似型号进行更改配置json文件复制一个相近的板子型号的json配置文件命名为 MonkeyPi_STM32_G070RB.json,更改mcu型号、svd等信息;{原创 2022-09-25 20:59:07 · 646 阅读 · 0 评论 -
使用platformio+arduino开发自定义板子STM32G070
因为Platformio中没有自己需要的STM32G070RB这个型号的板子,因此需要自己定义一个开发板型号。{这里的 MonkeyPi_STM32_G070RB 就是自定义的板子名称;在目录。原创 2022-09-03 23:51:44 · 2580 阅读 · 0 评论 -
[转]STM32串口接收不定长数据原理与源程序
今天说一下STM32单片机的接收不定长度字节数据的方法。由于STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据,由于STM32属于ARM单片机,所以这篇文章的方法也适合其他的ARM单片机。IDLE中断什么时候发生?IDLE就是串口收到一帧数据后,发生的中断。什么是一帧数据呢?比如说给单片机一次发来1个字节,或者一次发来8个字节,这些一次发来的数据,就称为一帧数据,也转载 2018-01-08 19:03:46 · 590 阅读 · 0 评论 -
nrf51822-提高nordic ble数据发送速率
【转】http://blog.chinaunix.net/uid-28852942-id-5753308.html讲解2点: 为什么 nordic的4.0协议栈中ble只能发送20字节的应用负载数据。 大量数据发送时如何提高发送速率1:为何上层应用负载每次最多20字节 首先了解 4.0中链路层的包格式如下: PDU即协转载 2018-01-17 18:33:22 · 1953 阅读 · 1 评论 -
RIOT-OS入门 Windows系统下在STM32上运行RIOT OS
转载:https://makerinchina.cn/riot_os%e5%85%a5%e9%97%a81/1、开发环境1.1 软件和文档RIOT OS:https://github.com/RIOT-OS/RIOTwindows上开发环境配置教程:https://github.com/RIOT-OS/RIOT/wiki/Build-RIOT-on-Windows-OS1.2 主要步骤下载编译工具 GNU Arm Embedded Toolchain gcc,然后将其放置到环境变量;.转载 2020-09-17 20:47:20 · 785 阅读 · 0 评论 -
《转》PN532读写操作(串口)
详细教程请查看:零知技术社区, 包含有Arduino 和 STM32平台的具体代码。资料:(1)使用PN532串口NFC模块读写NFC卡片;(2)通过NFC卡的破解过程来分析ACR122U读写原理(3)零知开源快速入门32-RC522 NFC模块读写NFC卡片 门禁卡 白卡(4)浅谈卡片破解 RFID安全技术这几天玩玩pn532读写Mifare1 Card,s50,s...转载 2017-12-07 16:52:08 · 15677 阅读 · 1 评论 -
编程入门知识
>>>>>>>>(1)输出 "%" 用“%%”(2)移位:左移无论什么数 补0右移时,负数补1(移几位就补几个1),正数补0(3)清0取反要用与,某位置1可用或对i的第m位清0:m = m & ~(1 对i的第m位置1:m = m | (1 (4)printf 输出中 %-md 表示左对齐 (5)scanf 以%c格式读入时,以连续的原创 2017-11-17 00:25:42 · 241 阅读 · 0 评论 -
CSAPP课程笔记1
第一周 计算机系统概述1. sum函数执行错误:问题: 调用函数(计算数组a[]中元素的和)int sum(int a[], unsigned len);当len为0时,调用后得不到结构,程序执行异错误,当len定义为int型时执行正确;2.函数调用后变量的变化问题: 在p.c文件中,代码为:double d;void p1(){ d = 1.0;}在主函数中main.cint原创 2017-11-17 00:06:44 · 797 阅读 · 0 评论 -
FreeRTOS 系统使用
ps:参考其他人的教程,先记录以后用到查一查。第一章 FreeRTOS 基础1. 任务函数 任务函数原型:void ATaskfunction(void *pvParameters);(1)每个任务通常会运行在一个死循环中,FreeRTOS任务不允许以任何形式从实现函数中返回; (2)创建的每个任务实例拥有自己的栈空间和自动变量; 注:在任务实例中定义的变量如果是static修饰,则所有任务实原创 2017-11-17 00:02:38 · 2665 阅读 · 0 评论 -
面试题
1、c语言函数传递二维数组c语言中经常需要通过函数传递二维数组,有三种方法可以实现,如下:方法一, 形参给出第二维的长度。例如:#include void func(int n, char str[ ][5] ){ int i; for(i = 0; i printf("\nstr[%d] = %s\n", i, str[i]);}void mai原创 2017-11-17 00:19:01 · 161 阅读 · 0 评论 -
转载一篇c语言深度文章 《一个“蝇量级” C 语言协程库》
协程(coroutine)顾名思义就是“协作的例程”(co-operative routines)。跟具有操作系统概念的线程不一样,协程是在用户空间利用程序语言的语法语义就能实现逻辑上类似多任务的编程技巧。实际上协程的概念比线程还要早,按照 Knuth 的说法“子例程是协程的特例”,一个子例程就是一次子函数调用,那么实际上协程就是类函数一样的程序组件,你可以在一个线程里面轻松创建数十万个协程,就像转载 2017-11-19 23:18:38 · 410 阅读 · 0 评论 -
选择法排序
//insert_sort.cvoid insertion_sort(int array[], int len){ int i = 0; int j = 0; int key = 0; for(j = 1; j < len; j++) { key = array[j]; i = j - 1; ...原创 2016-07-06 15:49:07 · 470 阅读 · 0 评论