sonix c语言 pdf,sonix c语言编程教程1.ppt

sonix c语言编程教程1

2006-01-20 如何用C 来完成SN8系列芯片的程序设计 Review SN8 C studio 的安装与使用 数据类型与运算 程序流程控制 函数 结构体、联合在SN8 C程序中的应用 中断 位操作 内嵌汇编 程序结构 SN8 C studio 的安装与使用 SN8 C studio 的安装 SN8 C studio应用实例 数据类型与运算 专有数据类型 常量的定义 先来看看汇编的常量定义: door_service_cequ#80;80ms去门抖动 t0int_cequ#224;t0中断时间 segment_cequ#3;最多3段烹调 注:上面数值前的#号,是SN8ASM的符号,用于提示后面的是立即数。 常量的定义 NOTE: 对习惯于写汇编的人来说,千万注意C对大小写敏感!并从变量定义就要开始注意! 数值列表 汇编的表: disp_automenu:;显示菜单用第二数字表格 dw0000h dw0ae1fh;A-1 dw0ae2fh; dw0ae3fh; dw0ae4fh; dw0ae5fh; dw0ae6fh; dw0ae7fh; 变量定义与限制 __RAM与__ROM关键字的使用: Unsigned int __RAM ramVeriable; __RAM unsigned int ramVeriable2; Unsigned int __ROM romVeriable; __ROM unsigned int romVeriable2; 常量数值列表定义 C定义的数值列表: unsigned long __ROM disp_automenu[]= { 0x0000,0x0ae1f,0x0ae2f,0x0ae3f, 0x0ae4f,0x0ae5f,0x0ae6f,0x0ae7f }; 变量的定义 汇编的定义变量的方法: .DATA org0h temp1ds1 temp2ds1 led_dpds1 stepds1 Job_modeds2 Pow_modeds4 变量的定义 用C定义变量: unsigned int temp1; unsigned int temp2; unsigned int led_dp; unsigned int step; unsigned long job_mode; unsigned long power_mode1; float powerValue; int temp1_1; long temp2_2; 变量定义的对比 变量类型的选择 在选择数据类型的时候,在能够顺利完成功能的情况下,请尽量选择占空间少的数据类型,这样不管是在RAM空间使用上还是在产生代码效率上都有很多的好处! 能使用无符号数的都使用无符号数,以免处理出错,因为芯片内部是以无符号数处理的。 数据的存储 SN8芯片的数据存储区 系统寄存器 系统寄存器表 .H档中对系统寄存器定义 程序流程控制 顺序结构 判断分支结构 串行分支结构 并行分支结构 循环结构 顺序结构 顺序结构流程 顺序结构的实现对比 判断分支结构 判断分支结构的流程 判断分支结构的实现对比 串行分支结构 串行分支结构流程 串行分支结构实现对比 并行分支结构 并行分支结构流程 并行分支结构实现对比 循环结构1——While While循环流程 While循环实现对比 循环结构2——do…while循环 Do…while循环流程 Do…while循环实现对比 函数 函数的定义 函数参数的传递 函数参数与全局变量 函数的定义 SN8 C 函数声明方式: 返回值类型 函数名(形参1数据类型,形参2数据类型,……); 函数的定义方式 函数定义方式: 返回值类型 函数名(参数列表) 参数类型表; { 函数体; } 函数参数传递与返回 函数传递的内部实现 假设于caller函数内调用callee函式. callee 的参数名称为: _callee_arg ? ; ? 为参数个数。 函数参数传递实现对比 返回值的存放 全局变量与函数参数 构造数据类型 结构体 联合体 结构体的定义 结构体定义的形式: Struct 结构体类型名{ 成员1数据类型成员1名称; 成员2数据类型成员2名称; …… }; 结构体存储形式 结构体存储 用结构体定义位域 位域的定义形式: Struct 结构体名称{ Unsign

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值