网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月09日漏签0天
beaglebone吧 关注:269贴子:382
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1回复贴,共1页
<<返回beaglebone吧
>0< 加载中...

PRU 代码 BBB SPI 控制外置16-bit-DAC @10kHz

  • 只看楼主
  • 收藏

  • 回复
  • SY丶Liang
  • 白丁
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
之前做的项目,现在没用了给大家共享下
PRU 代码:
.origin 0
.entrypoint START
#define DATA_ON_DLY 80
#define DATA_OFF_DLY 80
#define CLK_ON_DLY 160
#define CLK_OFF_DLY 160
#define CSLD_ON_DLY 400
#define CSLD_OFF_DLY 80
#define MAIN_LOOP 24
#define DATA_ADDR 0x00000000
START:
MOV r2, DATA_ON_DLY
MOV r1, CLK_ON_DLY
MOV r3, CSLD_ON_DLY
MOV r4, MAIN_LOOP
MOV r5, DATA_ADDR // copy address
MOV r6, 0
CSLD_ON:
SET r30.t0
MOV r4, MAIN_LOOP
MOV r6, 0
MOV r7, 0
MOV r8, 0
LBBO r6, r5, 0, 4
MOV r7, 63<<16
OR r8, r7, r6.w0
CSLD_ON_DELAY:
SUB r3,r3,1
QBNE CSLD_ON_DELAY, r3, 0
MOV r3, CSLD_OFF_DLY
CSLD_OFF:
CLR r30.t0
CSLD_OFF_DELAY:
SUB r3,r3,1
QBNE CSLD_OFF_DELAY, r3,0
MOV r3, CSLD_ON_DLY
CHECK_DATA_BIT:
QBBS DATA_PULL_UP, r8.t23
QBBC DATA_PULL_DOWN, r8.t23
DATA_PULL_UP:
SET r30.t2
QBA DATA_ON_DELAY
DATA_PULL_DOWN:
CLR r30.t2
QBA DATA_ON_DELAY
DATA_ON_DELAY:
SUB r2,r2,1
QBNE DATA_ON_DELAY, r2,0
MOV r2, DATA_ON_DLY
CLK_ON:
SET r30.t4
CLK_ON_DELAY:
SUB r1, r1, 1
QBNE CLK_ON_DELAY,r1,0
MOV r1, CLK_ON_DLY
DATA_OFF:
CLR r30.t2
CLK_OFF:
CLR r30.t4
CLK_OFF_DELAY:
SUB r1,r1,1
QBNE CLK_OFF_DELAY, r1, 0
MOV r1, CLK_OFF_DLY
LOOP:
SUB r4,r4,1
LSL r8, r8, 1
QBNE CHECK_DATA_BIT, r4,0
QBA CSLD_ON
___________________________________________
Device tree overlay:
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";
/* identification */
part-number = "BB-BONE-SAM2";
version = "00A0";
/* state the resources this cape uses */
exclusive-use =
/* the pin header uses */
"P9.42", /* pru0: pr1_pru0_pru_r30_4 */
"P9.30", /* pru0: pr1_pru0_pru_r30_2 */
"P9.31", /* pru0: pr1_pru0_pru_r30_0 */
/* the hardware IP uses */
"pru0",
"pru1";
fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
pru_pru_pins: pinmux_pru_pru_pins {
pinctrl-single,pins = <
0x1a0 0x25 /* mcasp0_aclkr.pr1_pru0_pru_r30_4, MODE5 | OUTPUT | PRU */
0x198 0x25 /* mcasp0_axr0.pr1_pru0_pru_r30_2, MODE5 | OUTPUT | PRU */
0x190 0x25 /* mcasp0_aclkx.pr1_pru0_pru_r30_0, MODE5 | OUTPUT | PRU */
>;
};
};
};
fragment@2 {
target = <&pruss>;
__overlay__ {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pru_pru_pins>;
};
};
};


  • 游人游民
  • 白丁
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
居然没人点赞


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回beaglebone吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示