打印
[STM32F0]

求助同时有示波器和STM32F030F4P6的兄弟帮忙

[复制链接]
1357|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yjmwxwx|  楼主 | 2019-7-10 17:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


最近想用STM32F030F4P6作为NE602的时钟,由于我的示波器比较垃圾测不了频率高一点的波形,所以求助有示波器的兄弟帮忙测测看波形到底是什么样子多少频率。

帮忙测测 PB1 和 PA10



固件
1.zip (395 Bytes)





使用特权

评论回复
沙发
sky.sun.zz| | 2019-7-10 20:41 | 只看该作者
使用CUBEMX配置的,48MHZ拿去用吧:
CUBEMX_f030.rar (5.04 MB)

使用特权

评论回复
板凳
yjmwxwx|  楼主 | 2019-7-10 20:51 | 只看该作者
sky.sun.zz 发表于 2019-7-10 20:41
使用CUBEMX配置的,48MHZ拿去用吧:


谢谢你,我先下载你这个看看。

我想让有示波器的兄弟帮忙测测看,不知道到底能到多少MHZ

使用特权

评论回复
地板
yjmwxwx|  楼主 | 2019-7-10 22:49 | 只看该作者


淘宝买了一些拆机的NE602,想用单片机输出两个频率,然后用NE602变频输出音频,但是没能测的示波器,感觉像瞎子摸象。STM32F030F4P6用8M晶振,PLL16倍频,就是不知道能不能设置16倍频,TIM1设置PSC=0, ARR=1, 输出为翻转模式。
测试电路就是下图


PDF

ne602.pdf (30.4 KB)



使用特权

评论回复
5
yjmwxwx|  楼主 | 2019-7-12 09:48 | 只看该作者
本帖最后由 yjmwxwx 于 2019-7-12 10:14 编辑



原来NE602电源接错了,为啥PA10和PB1是相同频率的高频方波,PA7输出一个低频方波,喇叭里会出来这个低频方波的声音,是不是买的拆机的NE602是坏的?

使用特权

评论回复
6
yjmwxwx|  楼主 | 2019-7-12 10:56 | 只看该作者
本帖最后由 yjmwxwx 于 2019-7-12 11:01 编辑


换了个电路,接外部振荡器,也能出来音频。 STM32 8M晶振PLL=16,定时器PSC=0,ARR=14,翻转模式。
1.zip (386 Bytes)

喇叭听到音频能证明买的拆机NE602是好的吗? 以前没玩过这个不懂






使用特权

评论回复
7
Dick Hou| | 2019-7-13 10:34 | 只看该作者
yjmwxwx 发表于 2019-7-12 10:56
换了个电路,接外部振荡器,也能出来音频。 STM32 8M晶振PLL=16,定时器PSC=0,ARR=14,翻转模式。

030最高工作频率48M,你8M*16=?

使用特权

评论回复
8
yjmwxwx|  楼主 | 2019-7-13 13:28 | 只看该作者
本帖最后由 yjmwxwx 于 2019-7-13 13:29 编辑
Dick Hou 发表于 2019-7-13 10:34
030最高工作频率48M,你8M*16=?

16倍频只用定时器,不跑程序

看网上很多人做网分玩,也想学学怎么做,但是没买SI5351时钟芯片想用单片机定时器代替,但是只能产生低频的两路想差音频的信号,还要买专门时钟芯片,靠单片机行不通。

使用特权

评论回复
9
yjmwxwx|  楼主 | 2019-7-13 14:50 | 只看该作者
本帖最后由 yjmwxwx 于 2019-7-13 15:00 编辑




实物图











视频(声音太小听不到)
https://v.youku.com/v_show/id_XNDI3MTgzNDYyMA==.html?spm=a2h3j.8428770.3416059.1

用定时器只能输出两路低频的想差音频的信号,频率再高了耳朵听不到了,这个可以用了,不过就是频率低点。
STM32F030F4P6, 8M晶振PLL=16。 TIM1和TIM3输出,TIM1 PSC=0,ARR=60,翻转模式。 TIM3 PSC=0, ARR=61,翻转模式

程序后面BKPT停住,读出的寄存器数据还没错误


程序所有文件
ne602.zip (8.14 KB)

程序代码
 @@单片机stm32f030f4p6
        @[url=home.php?mod=space&uid=72445]@[/url]  pwm ne602时钟
        @作者:yjmwxwx
        @时间:2019-06-30
        @编译器:ARM-NONE-EABI
         .thumb
                 .syntax unified
        .section .data

yjmwxwx:
        .equ STACKINIT,                        0x20001000
        .section .text
vectors:
        .word STACKINIT
        .word _start + 1
        .word _nmi_handler + 1
        .word _hard_fault  + 1
        .word 0
        .word 0
        .word 0
        .word 0
        .word 0
        .word 0
        .word 0
        .word _svc_handler +1
        .word 0
        .word 0
        .word _pendsv_handler +1
        .word aaa +1        @_systickzhongduan +1               [url=home.php?mod=space&uid=72445]@[/url] 15
        .word aaa +1     [url=home.php?mod=space&uid=72445]@[/url] _wwdg +1          [url=home.php?mod=space&uid=72445]@[/url] 0
        .word aaa +1     @_pvd +1            @ 1
        .word aaa +1     @_rtc +1            @ 2
        .word aaa +1     @_flash +1          @ 3
        .word aaa +1        @ _rcc + 1          @ 4
        .word aaa +1      @_exti0_1  +1      @ 5
        .word aaa +1      @ _exti2_3 +1      @ 6
        .word aaa +1       @_exti4_15 +1     @ 7
        .word aaa +1                         @ 8
        .word aaa +1         @_dma1_1  +1    @ 9
        .word aaa +1    @_dma1_2_3 +1        @ 10
        .word aaa +1       @_dma1_4_5 +1     @ 11
        .word aaa +1         @_adc1 +1          @ 12
        .word aaa +1       @_tim1_brk_up +1  @ 13
        .word aaa +1        @ _tim1_cc +1    @ 14
        .word aaa +1         @_tim2 +1       @ 15
        .word aaa +1          @_tim3 +1      @ 16
        .word aaa +1                         @ 17
        .word aaa +1                                @ 18
        .word aaa +1        @_tim14 +1    @ 19
        .word aaa +1                         @ 20
        .word aaa +1         @_tim16 +1      @ 21
        .word aaa +1         @_tim17 +1      @ 22
        .word aaa +1          @_i2c   +1     @ 23
        .word aaa +1                         @ 24
        .word aaa +1           @_spi   +1    @ 25
        .word aaa +1                         @ 26
        .word aaa +1         @_usart1 +1     @ 27
        .align 2

_start:


_waisheshizhong:                         @ 外设时钟
        @+0x14=RCC_AHBENR
        @ 0=DMA @ 2=SRAM @ 4=FLITF@ 6=CRC @ 17=PA @ 18=PB @ 19=PC @ 20=PD @ 22=PF
        ldr r0, = 0x40021000
        ldr r1, = 0x60001
        str r1, [r0, # 0x14]

        @+0x18外设时钟使能寄存器 (RCC_APB2ENR)
        @0=SYSCFG @5=USART6EN @9=ADC @11=TIM1 @12=SPI1 @14=USART1 @16=TIM15 @17=TIM16 @18=TIM17 @22=DBGMCU
        ldr r1, = 0x800
        str r1, [r0, # 0x18]
        @+0X1C=RCC_APB1ENR
        @ 1=TIM3 @ 4=TIM6 @ 5=TIM7 @ 8=TIM14 @ 11=WWDG @ 14=SPI @ 17=USRT2 @ 18=USART3 @ 20=USART5 @ 21=I2C1
        @ 22=I2C2 @ 23=USB @ 28=PWR
        ldr r2, = 0x102
        str r2, [r0, # 0x1c]

tim1chushiha:                                
        ldr r5, = 0x40012c00 @ tim1_cr1
        ldr r1, = 0
        str r1, [r5, # 0x28] @ psc
        ldr r1, = 60
        str r1, [r5, # 0x2c] @ ARR
        ldr r1, = 0x38
        str r1, [r5, # 0x1c] @ ccmr2  CC3
        ldr r1, = 0x100    @  CC3
        str r1, [r5, # 0x20] @ ccer
        ldr r1, = 0x8000
        str r1, [r5, # 0x44] @ BDTR
        ldr r1, = 60
        str r1, [r5, # 0x3c]
        movs r4, # 0xe1
        str r4, [r5]
tim3chushihua:                                
        ldr r0, = 0x40000400 @ tim3_cr1
        ldr r1, = 0
        str r1, [r0, # 0x28] @ psc
        ldr r1, = 61
        str r1, [r0, # 0x2c] @ ARR
        ldr r1, =   0x3800
        str r1, [r0, # 0x1c] @ ccmr2
        ldr r1, =  0x1000
        str r1, [r0, # 0x20] @ ccer
        ldr r1, = 61
        str r1, [r0, # 0x40] @ ccr4
        movs r1, # 0xe1
        str r1, [r0]

tim14chushihua:
        ldr r0, = 0x40002000 @ tim14_cr1
        ldr r1, = 127
        str r1, [r0, # 0x28] @ psc
        ldr r1, = 1000
        str r1, [r0, # 0x2c] @ ARR
        ldr r1, =   0x38
        str r1, [r0, # 0x18] @ ccmr1
        movs r1, # 0x01
        str r1, [r0, # 0x20] @ ccer
        ldr r1, = 1000
        str r1, [r0, # 0x34] @ ccr4
        movs r1, # 0xe1
        str r1, [r0]


io_she_zhi:
        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
        @a(0x48000000)b(0x48000400)c(0x48000800)d(0x48000c00)f(0x48001400)
        @ 输入(00),通用输出(01),复用功能(10),模拟(11)
        @偏移0x4 = 端口输出类型 @ (0 推挽),( 1 开漏)
        @偏移0x8 = 输出速度  00低速, 01中速, 11高速
        @偏移0xC = 上拉下拉 (00无上下拉,  01 上拉, 10下拉)
        @偏移0x10 = 输入数据寄存器
        @偏移0x14 = 输出数据寄存器
        @偏移0x18 = 端口开  0-15置位
        @偏移0x28 = 端口关
        @0X20 = 复用低
        @GPIO口0(0-3位)每个IO口占用4位
        @ AF0 = 0X0000, AF1 = 0X0001, AF2 = 0X0010 AF3 = 0X0011, AF4 = 0X0100
        @ AF5 = 0X0101, AF6 = 0X0111, AF7 = 0X1000
        @0x24 = 复用高
        @GPIO口8 (0-3位)每个IO口占用4位
        @ AF0 = 0X0000, AF1 = 0X0001, AF2 = 0X0010 AF3 = 0X0011, AF4 = 0X0100
        @ AF5 = 0X0101, AF6 = 0X0111, AF7 = 0X1000
        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

        ldr r0, = 0x48000000
        ldr r1, = 0x28208000
        str r1, [r0]
        ldr r1, = 0x40000000
        str r1, [r0, # 0x20]
        ldr r1, = 0x200
        str r1, [r0, # 0x24]
        
        ldr r0, = 0x48000400
        movs r1, # 0x08 @ pb1
        str r1, [r0]
        movs r1, # 0x10  @ tim3_4到PB1
        str r1, [r0, # 0x20] @ ARRL

shizhong:
        ldr r2, = 0x40022000   @FLASH访问控制
        movs r1, # 0x32
        str r1, [r2]           @FLASH缓冲 缓冲开启
        ldr r0, = 0x40021000 @ rcc
        ldr r1, = 0x10001
        str r1, [r0]
denghse:
        ldr r1, [r0]
        lsls r1, r1, # 14
        bpl denghse
dengpllguan:
        ldr r1, [r0]
        lsls r1, r1, # 6
        bmi dengpllguan
        ldr r1, = 0x3d0002
                  mov r0, r0
        str r1, [r0, # 0x04]
                  mov r0, r0
        ldr r1, = 0x1010000
        mov r0, r0
        str r1, [r0]

dengpll:
        ldr r1, [r0]
        lsls r1, # 6
        bpl dengpll


        bkpt # 1

_nmi_handler:
        bx lr
_hard_fault:
        bx lr
_svc_handler:
        bx lr
_pendsv_handler:
        bx lr
_systickzhongduan:
aaa:
        bx lr









使用特权

评论回复
10
xiaoqizi| | 2019-8-7 11:42 | 只看该作者
感谢楼主的分享啊

使用特权

评论回复
11
木木guainv| | 2019-8-7 11:44 | 只看该作者
楼主最后怎么解决问题的啊

使用特权

评论回复
12
yjmwxwx|  楼主 | 2019-8-7 12:04 | 只看该作者
木木guainv 发表于 2019-8-7 11:44
楼主最后怎么解决问题的啊

这个没搞完去搞别的了,感觉用两个单片机一个做NE602时钟,一个做信号,两个单片机晶振频率不可能完全一样吧,不一样差频不就出来了,这个还没试验。。

使用特权

评论回复
13
木木guainv| | 2019-8-8 13:11 | 只看该作者
yjmwxwx 发表于 2019-8-7 12:04
这个没搞完去搞别的了,感觉用两个单片机一个做NE602时钟,一个做信号,两个单片机晶振频率不可能完全一 ...

哦 希望楼主解决问题哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

117

主题

2729

帖子

48

粉丝