完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我正在使用带有48个引脚的STM8L151C8。 对于PF0上的默认DAC1输出(工作正常)我想访问第二个DAC输出,我希望在PB6上输出。 Ref手册说这可以通过配置开关来实现,参见Doc ID 15226 Rev 10第219/575页。 在我的代码中,我有关于DAC2的以下几行: #define DAC2 PIO_Pin_6 // DAC通道2 #define PB_DDR_Init GPIO_DDR_RESET_VALUE //与DAC2无关 #define PB_ODR_Init GPIO_ODR_RESET_VALUE //与DAC2无关 #define PB_CR1_Init GPIO_CR1_RESET_VALUE | DAC2 #define PB_CR2_Init GPIO_CR1_RESET_VALUE //清除所有位 GPIOB-> ODR = PB_ODR_Init; GPIOB-> DDR = PB_DDR_Init; GPIOB-> CR1 = PB_CR1_Init; GPIOB-> CR2 = PB_CR2_Init; RI-> IOSR1 = 0x80; //应该是PB6的正确选择 DAC-> CH1CR1 = DAC_CR1_RESET_VALUE | DAC_CR1_EN; / * DAC1启用,缓冲打开* / DAC-> CH2CR1 = DAC_CR1_RESET_VALUE | DAC_CR1_EN; / * DAC2启用,Buffer on * / DAC-> CH2RDHRH =(uint8_t)(0); DAC-> CH2RDHRL =(uint8_t)(0); // DAC-> DCH2RDHRH = 0; // DAC2设置为0 // DAC-> DCH2RDHRL = 0; // DAC2设置为0 我试过最后两行。结果总是在PB6处是3.2伏的电压。我的程序没有重置为某个值或零。 我的错是什么? 先谢谢你。 迪特 以上来自于谷歌翻译 以下为原文 Hello, I am working with STM8L151C8 with 48 pins. To my default DAC1 output on PF0 (which works fine) I want to access to the second DAC output, which I want to have on PB6. The Ref manual says that this is possible by configurating the switches, see Doc ID 15226 Rev 10 page 219/575. In my code I have the following lines in respect to DAC2: #define DAC2 PIO_Pin_6 //DAC channel 2 #define PB_DDR_Init GPIO_DDR_RESET_VALUE // not relevant for DAC2 #define PB_ODR_Init GPIO_ODR_RESET_VALUE // not relevant for DAC2 #define PB_CR1_Init GPIO_CR1_RESET_VALUE | DAC2 #define PB_CR2_Init GPIO_CR1_RESET_VALUE //clear all bits GPIOB->ODR = PB_ODR_Init; GPIOB->DDR = PB_DDR_Init; GPIOB->CR1 = PB_CR1_Init; GPIOB->CR2 = PB_CR2_Init; RI->IOSR1 = 0x80; //should be the right one for PB6 DAC->CH1CR1 = DAC_CR1_RESET_VALUE | DAC_CR1_EN; /* DAC1 enable, Buffer on */ DAC->CH2CR1 = DAC_CR1_RESET_VALUE | DAC_CR1_EN; /* DAC2 enable, Buffer on */ DAC->CH2RDHRH = (uint8_t) (0); DAC->CH2RDHRL = (uint8_t) (0); // DAC->DCH2RDHRH = 0; //DAC2 setting to 0 // DAC->DCH2RDHRL = 0; //DAC2 setting to 0 I tried both for the last two lines. The result is always, that at PB6 is a voltage of 3.2 Volts. My program does not reset to a certain value or zero. What is my fault here? Thank you in advance. Dieter |
|
相关推荐
1个回答
|
|
你好Dieter
我在同一个微处理器上遇到了与DAC2相同的问题。 你修复过你的问题吗?我不明白为什么有多少问题处于暂停状态,DAC 2是一个真正的问题,而DAC 1非常容易配置。 所以在我的询问中,为了激活DAC2到PB4的路由,我设置了AnalogueSwitch_4和RI_IO_SWITCH 15 (我使用Cosmic C编译器)如果你有任何信息,它会很棒。 问候 布鲁诺维尔特 以上来自于谷歌翻译 以下为原文 Hello Dieter I have the same problem with the DAC2 on the same micro processor. Do you have fixed your problem ? I do not understand why much questions are in suspend, the DAC 2 is a real problem whereas the DAC 1 is quite easy to configure. So in my enquiry, in order to activate the routing of DAC2 to PB4, I set the AnalogueSwitch_4 and RI_IO_SWITCH 15 (I work with the Cosmic C compiler) if you have any information, it will be great. Regards Bruno VELUT |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2715 浏览 1 评论
3235 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1807 浏览 1 评论
3643 浏览 6 评论
6031 浏览 21 评论
1332浏览 4评论
206浏览 3评论
195浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
348浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
440浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 06:44 , Processed in 1.109321 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号