这个要做Matlab中先进行数据处理,标准化为整数,且值范围在【0,1023】中。
这个标准化处理需要根据你的要求进行。
其实Matlab可以直接生成满足需要的随机值数组,比如
s1= randi([01023]110);
就生成了10个符合要求的数据。
如果已经通过其他方式生成了含小数的值,则需要用一个合适的转换方法,映射到【0,1023】值范围空间中,比如乘以10再取floor整。
10位ADC的进度是2的10次方,也就是1024,首先你需要知道你的matlab生成的数的最大值是多少,加入你的最大数是n,你生成的随机数的x
计算出来的值应该是x/n*1024.舍去小数就行了,将这个数给ADC就行了
这个应该是matlab上位机跟单片机有个通信协议,然后通过串口,将这些数据发送到单片机上面,单片机再通过DA转换器输出
像这种应用,推荐你用modbus作为串口通信协议
关于小数,小数一般是放大一个固定倍数来传输的,比如放大100倍。使之成为整数来传输