用stm32做项目,要用da转换,发现手上的最小系统板居然没有da功能。现在stm32哪些型号有da呢。。求推荐
答案:3 悬赏:80 手机版
解决时间 2021-02-03 12:23
- 提问者网友:椧運幽默
- 2021-02-03 03:40
用stm32做项目,要用da转换,发现手上的最小系统板居然没有da功能。现在stm32哪些型号有da呢。。求推荐
最佳答案
- 五星知识达人网友:低音帝王
- 2021-02-03 04:42
如果你是用mdk的keil的话 你可以在创建工程里选择芯片型号时右边有硬件资源介绍,第二个你可以去官网查型号,每种型号和他的硬件资源都可以查到,是一张表。推荐f103ze系列
全部回答
- 1楼网友:摆渡翁
- 2021-02-03 06:59
//dac通道1输出初始化
void dac1_init(void)
{
gpio_inittypedef gpio_initstructure;
dac_inittypedef dac_inittype;
rcc_apb2periphclockcmd(rcc_apb2periph_gpioa, enable ); //使能porta通道时钟
rcc_apb1periphclockcmd(rcc_apb1periph_dac, enable ); //使能dac通道时钟
gpio_initstructure.gpio_pin = gpio_pin_4; // 端口配置
gpio_initstructure.gpio_mode = gpio_mode_ain; //模拟输入
gpio_initstructure.gpio_speed = gpio_speed_50mhz;
gpio_init(gpioa, &gpio_initstructure);
gpio_setbits(gpioa,gpio_pin_4) ;//pa.4 输出高
dac_inittype.dac_trigger=dac_trigger_none; //不使用触发功能 ten1=0
dac_inittype.dac_wavegeneration=dac_wavegeneration_none;//不使用波形发生
dac_inittype.dac_lfsrunmask_triangleamplitude=dac_lfsrunmask_bit0;//屏蔽、幅值设置
dac_inittype.dac_outputbuffer=dac_outputbuffer_disable ; //dac1输出缓存关闭 boff1=1
dac_init(dac_channel_1,&dac_inittype); //初始化dac通道1
dac_cmd(dac_channel_1, enable); //使能dac1
dac_setchannel1data(dac_align_12b_r, 0); //12位右对齐数据格式设置dac值
}
//设置通道1输出电压
//vol:0~3300,代表0~3.3v
void dac1_set_vol(u16 vol)
{
float temp=vol;
temp/=1000;
temp=temp*4096/3.3;
dac_setchannel1data(dac_align_12b_r,temp);//12位右对齐数据格式设置dac值
}
- 2楼网友:长青诗
- 2021-02-03 06:21
VE/VG/ZE/ZG等大于512K的大容量的单片机才有DAC。低容量和中容量是没有的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯