怎么用C语言为max5481数字电位器编程?有没人有用过的

怎么用C语言为max5481数字电位器编程?有没人有用过的,第1张

?? 问得有问题!!该器件不能用C语言编程。只能通过微控制器的端口,用SPI时序对该器件 *** 作。 *** 作方式为用SPI时序在CS拉低时,连续向该器件写入3个字节的 *** 作码,CS拉高完成一次 *** 作。 *** 作码高位在前,前8为为控制码,后16位为抽头位置,左对齐,低6位无效。 *** 作码=0x00,设置中间抽头位置, *** 作码=0x20,将当前抽头位置写入非易失存储器, *** 作码=0x30,将中间抽头位置设置为非易失存储器保存的中间抽头位置。

对于苹果的MacBook Pro系列产品而言,目前按照尺寸划分分为13英寸和15英寸两个规格,而按照最直观、最简单的硬件规格来划分,又分为普通屏幕的13、15英寸产品和Retina屏幕也就是我们常说的视网膜屏幕的15英寸产品。

纵观苹果笔记本类产品,MacBook Pro系列是属于硬件配置比较均衡,价格适中,但移动性稍显逊色的一个系列机型,还是比较适合不经常外出携带使用,而又对性能有着一定需求的用户选择。我们从目前官网中的配置来看,不论是13还是15英寸机型均采用了英特尔最新的第三代酷睿处理器、内存4GB起步、显卡又根据不同机型配备了NVIDIA GeForce GT 650M独显和HD 4000核芯显卡两种,对于普通的办公、娱乐来说都还是完全能够满足的。因此,你真正所要考虑的可能只有三点:尺寸、是否需要Retina屏幕和价格。

对于安装双系统,这个问题仁者见仁智者见智。安装双系统的好处是:可以自由在OS X和Windows之间切换,能够同时享受OS X为我们带来的出色视觉感受和Windows强大的兼容性和易用性。缺点是:1、由于必须要在电脑中保留苹果系统分区,因此在安装了Windows系统后会占用一定的硬盘空间;2、通过我们以往的经验来看,虽然苹果不抵制Windows系统,但是实际安装后还是会出现一些未知的小BUG,例如:开机速度变慢、鼠标、键盘功能缺失、Retina屏幕机型字体显示过小等。当然,这些对于实际应用而言可能不会造成太大的影响,但是毕竟一些在苹果系统中非常实用的功能无法实现,还是有些感觉上有些蹩脚的。

最后还要提升大家的是,由于苹果近期马上就要发布新品,期间有可能会对MacBook Pro产品线进行更新,并推出13英寸的Retina MacBook Pro机型。因此,如果不是非常着急的话,我们还是建议在耐心等待一段时间。

 

 

程序的正确输出结果是:

满足条件的数=10

9971 8398 7711 6375 4719 4173 2736 2398 2397 1997

下面的完整代码里有 jsVal( ) 的实现。你可以参考。

#include <stdio.h>

#define MAX  200

int a[MAX], b[MAX], cnt = 0

int isprime(int m)

{

  int i

  for(i = 2 i <= m/2 i++)

   if(m % i == 0) return 0

  return 1

}

void jsVal()

{

  int i, j

  for( i = 0i <MAXi++ ) {

    /* Produce the two 2-digit numbers. */

    int d1 = a[ i ] / 1000  * 10  + a[ i ] /  10  % 10,

        d2 = a[ i ] %   10  * 10  + a[ i ] / 100  % 10

    

    /* Qualification. */

    if( isprime( d1 ) &&isprime( d2 ) &&d1 >9 &&d2 >9 ) {

      

      /* Add to tail. */

      b[ cnt++ ] = a[ i ]

      /* Bubble-sort from tail toward head to achieve descending order. */

      for( j = cnt - 1j >0 &&b[ j ] >b[ j - 1 ]--j ) {

        

        /* Swap. */

        int temp = b[ j ]

        b[ j ] = b[ j - 1 ]

        b[ j - 1 ] = temp

      }

    }

  }

}

void readDat()

{

  int i

  FILE *fp

  fp = fopen("in.dat", "r")

  for(i = 0 i <MAX i++) fscanf(fp, "%d", &a[i])

  fclose(fp)

}

void writeDat()

{

  FILE *fp

  int i

  fp = fopen("out.dat", "w")

  fprintf(fp, "%d\n", cnt)

  for(i = 0 i <cnt i++) fprintf(fp, "%d\n", b[i])

  fclose(fp)

}

void main()

{

  int i

  readDat()

  jsVal()

  printf("满足条件的数=%d\n", cnt)

  for(i = 0 i <cnt i++) printf("%d ", b[i])

  printf("\n")

  writeDat()

}

 

 

 


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8050244.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存