美文网首页
MSP430学习笔记 2.内部函数

MSP430学习笔记 2.内部函数

作者: 浮生一城 | 来源:发表于2017-06-04 12:24 被阅读0次

按照老规矩,罗列一下工具和平台:

  • MSP-EXP430F5229 开发板,自带ez-FET仿真器
  • TI Composer Code Studio v7.1.0 / IAR for MSP430 v7.1.0
  • Windows 10 Pro 1703 64bits
  • etc...

内部函数

在TI ToolChain和 GNU for MSP430这两种编译工具链中,都提供了相同的内部函数,用于对CPU进行特殊操作,这些函数定义在intrinsics.h头文件中,但在使用这些函数时不需要首先声明该头文件。

详细说明

MSP430系列单片机的内部函数分为以下两种:

  1. 内联函数
    • __bic_SR_register()
      将CPU中SR寄存器中的某些位清零,括号内参数为寄存器位
    • __bis_SR_register()
      将CPU中SR寄存器内的某些位置1,参数同上
    • __bic_SR_register_on_exit()
      用于一个中断函数或不可中断函数(标志为__monitor)返回时,将CPU中SR寄存器的某些位清零
    • __bis_SR_register_on_exit()
      用于一个中断函数或者不可中断函数(标志为__monitor)返回时,将CPU内SR寄存器中的某些位置1
    • __disable_interrupt()_DINT()
      关闭总中断,无参数
    • __enable_interrupt()_EINT()
      开启总中断,无参数
    • __even_in_range( , )
      常被用在多源中断的查询中,如 switch(__even_in_range(TAIV,10),意思是:只有在TAIV的值是在0--1内的偶数时才会执行switch函数内的语句。其作用是提高switch语句的效率
    • __no_operation()_NOP()
      空操作,无参数
    • __get_SP_register(void)
      返回堆栈指针寄存器SP的值
    • __get_SR_register_on_exit(void)
      用于一个中断函数或者不可中断函数(标志为__monitor)返回时,返回状态寄存器SR的值
    • __bcd_add_short(unsigned short,unsigned short)
      两个16为BCD格式的数字相加,返回和
    • __bcd_add_long(unsigned long,unsigned long)
      两个32位BCD格式的数字相加,返回和
    • __delay_cycles(x)
      系统自带的精确延时。x必须是常量或常量表达式,如果是变量则编译报错!延时的时间为x乘以MCLK的时钟周期
  2. 特殊标志
    • __interrupt
      放在函数前面,标志中断函数
    • __monitor
      放在函数前面,功能是声明当这一函数执行的时候自动关闭中断。应该尽量缩短这样的函数,否则,中断事件无法得到及时的响应
    • __no_init
      放在全局变量前面,功能是使程序启动时不为变量赋初值

总结

这次的笔记到此为止啦,关于它们的具体用法,后续会有详细代码发布的,希望来看这篇文章的小伙伴,点个赞在走哦!学习愉快!

相关文章

  • MSP430学习笔记 2.内部函数

    按照老规矩,罗列一下工具和平台: MSP-EXP430F5229 开发板,自带ez-FET仿真器 TI Compo...

  • ★ 学习笔记:《iOS高级:Swift入门精讲②》第一节 Swi

    前言:本篇仅为视频学习笔记 嵌套函数(Nested Function)★ 将函数定义在函数内部 func forw...

  • python 递归函数

    python学习笔记,特做记录,分享给大家,希望对大家有所帮助。 在函数内部,可以调用其他函数。如果一个函数在内部...

  • 10. Function 类型

    学习要点: 1.函数的声明方式2.作为值的函数3.函数的内部属性4.函数属性和方法 在 ECMAScript 中,...

  • swift学习笔记 ⑥ —— 闭包

    Swift学习笔记 - 文集 闭包,就是能够读取其他函数内部变量的函数。Swift 中的闭包与 C 和 OC 中的...

  • 62.闭包

    1.一个函数返回了一个内部函数,该内部函数引用了外部函数相关的参数和变量,我们把该返回的内部函数称为闭包 2.在k...

  • 高阶函数实现(柯里化)

    请实现一个 add 函数,满足以下功能。 思路:1.函数内部返回新的函数2.函数内部记录每次传入的参数3.函数结果...

  • 函数作用域

    1.函数内部可以直接读取全局变量。 2.在函数外部无法读取函数内的局部变量。 (解决:在函数的内部,再定义一个函数...

  • js

    1.闭包 1 .概念:可以是外部变量访问内部变量,函数套函数。闭包就是能够读取其他函数内部变量的函数2.用途:可以...

  • MSP430学习笔记(3)

    摘要:本文是对学习MSP430的准备工作的记录与总结,涉及到MSP-EXP430F5529开发板和MSP430F5...

网友评论

      本文标题:MSP430学习笔记 2.内部函数

      本文链接:https://www.haomeiwen.com/subject/ojuvfxtx.html