同步操作将从 杭州好好搭搭科技有限公司/天问51驱动库 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
一站式的开发工具,通过简单易用的图形化模式和代码模式编程,让开发变得简单和高效。天问Block主要包括项目创建和云保存,代码编辑,调试配置,程序下载和调试等功能,结合图形化、代码编程以及丰富的软件资源,减少重复工作,提高开发效率。
天问Block官方网站 http://twen51.com/
天问51官方淘宝店: https://item.taobao.com/item.htm?id=625872295830
技术支持QQ群一:1138055784
微信公众号:
现已支持STC全系列单片机,STC89/90、STC12 系列、STC15 系列、STC8 系列,STC16 系列,CH32V、TWEN32、CH57X、TWEN-ASR等32位RSIC-V内核芯片。
天问51硬件和驱动全部开源,可以商业,为了更好的推广天问Block,代码头部请保留天问相关信息。
为了方便调用编译器编译代码,天问Block的底层驱动库都是头文件的形式提供,而不是xxx.c和xxx.h两个文件组成,即只需要把原本xxx.c里的函数直接放到xxx.h就可以。
为了保持代码风格一致,我们做如下约定。
驱动名称可以使用芯片型号或者具体功能命名,和单片机直接相关的比如ADC/PWM/TIN/UART等直接用大写,其它一律用小写,多个单词之间用下划线“_”分隔。针对C51、STC12、STC15请加型号前缀,方便和云上服务器里的驱动库做区分。
每个单片机类型的头文件里都已经重定义了变量类型,详见如下,
typedef unsigned char uint8; // 8 bits
typedef unsigned int uint16; // 16 bits
typedef unsigned long uint32; // 32 bits
typedef signed char int8; // 8 bits
typedef signed int int16; // 16 bits
typedef signed long int32; // 32 bits
typedef volatile int8 vint8; // 8 bits
typedef volatile int16 vint16; // 16 bits
typedef volatile int32 vint32; // 32 bits
#define _nop_() __asm nop __endasm
#define code __code
#define bit __bit
#define interrupt __interrupt
#define xdata __xdata
#define idata __idata
#define using __using
#define at __at
#define asm __asm
#define endasm __endasm
全小写字母,单词之间用下划线“_”分隔,需要加上模块名称前缀。
全部大写字母,单词之间用下划线“_”分隔,需要加上模块名称前缀。
全小写字母,单词之间用下划线“_”分隔,需要加上模块名称前缀。
写清楚参数范围,方便调用者使用。
//========================================================================
// 描述: xxxx.
// 参数: none.
// 返回: none.
//========================================================================
全小写字母,单词之间用下划线“_”分隔,需要加上模块名称前缀。
比如:xxx.h
#ifndef __XXX_H
#define __XXX_H
//引用芯片头文件
//C51: #include <reg52.h>
//STC12:#include <STC12X.h>
//STC15:#include <STC15X.h>
//STC8:#include <STC8HX.h>
//STC16: #include <stc16f.h>
#include <xxxxx.h>
//宏定义
#define XXX_PORT P6
//模块内部全局变量
uint8 _xxx_count = 0;
//模块供外部调用全局变量
uint8 xxx_flag = 0;
//========================================================================
// 描述: xxx初始化.
// 参数: none.
// 返回: none.
//========================================================================
void xxx_init(void)
{
}
#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。